Log4j вывод на консоль вместо настроенного файла - PullRequest
1 голос
/ 01 июля 2011

Я настроил Log4j для входа в файл, но вместо этого он входит в стандартный вывод. он создает файл журнала, но не записывает в него данные вместо stdout.

Вот мой конфигурационный файл:

log4j.rootCategory=INFO, file, mail
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/path-to/jobs-batch.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=2
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[jobs-batch] %p [%t] %c{1}.%M(%L) | %m%n

log4j.logger.org.springframework.jdbc=WARN

# Configuration for receiving e-mails when ERROR messages occur.
log4j.appender.mail=org.apache.log4j.net.SMTPAppender
log4j.appender.mail.To=xxx@xxx.com
log4j.appender.mail.From=xxx@xxx.com
log4j.appender.mail.SMTPHost=mail.xxx.de
log4j.appender.mail.Threshold=ERROR
log4j.appender.mail.Subject=Jobs Batch Error
log4j.appender.mail.layout=org.apache.log4j.PatternLayout
log4j.appender.mail.layout.ConversionPattern=%d  %-5p %c %x - %m%n

есть идеи?

Спасибо

Ответы [ 3 ]

1 голос
/ 01 июля 2011

Что нужно проверить:

  • Как называется ваш файл свойств Log4j?По умолчанию это log4j.properties, и именно это библиотека Log4j будет искать при запуске.
  • Относительно того, что Thorbjorn спрашивает в своем комментарии, где находится файл свойств log4j?Поместив его в пакет по умолчанию, он будет найден (по умолчанию Log4j ищет путь к классу).
  • При желании укажите местоположение файла свойств log4j, используя свойство log4j.configuration при запуске JVM.
1 голос
/ 01 июля 2011

Отрегулируйте в соответствии с вашими потребностями:

log4j.rootCategory=DEBUG, C     
log4j.appender.C=org.apache.log4j.ConsoleAppender
log4j.appender.C.layout=org.apache.log4j.PatternLayout
log4j.appender.C.layout.ConversionPattern=%d{MMddyyyy HH:mm} %-5p %c{1}:%L - %m%n
log4j.appender.C.Target=System.out
0 голосов
/ 04 июля 2011

я сам был глуп. я использовал -Dlog4j.configuration, чтобы установить мой файл. НО я также настраивал log4j программно для использования ТОГО ЖЕ конфигурационного файла.

Я до сих пор не понимаю, почему он так себя ведет, так как я просто дважды настраивал ТО ЖЕ конфигурационный файл. Но однажды я сделал это только один раз, когда все заработало, как и ожидалось.

...