2014-04-17 5 views
0

я иметь следующую конфигурацию log4j:Log4j не войдя в файл

# Root logger option 
log4j.rootLogger=file, stdout 

# Direct log messages to a log file 
log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.Threshold=WARN 
log4j.appender.file.File=logs/log.log 
log4j.appender.file.MaxFileSize=10MB 
log4j.appender.file.MaxBackupIndex=10 
log4j.appender.file.Append=true 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 

# Direct log messages to stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Threshold=INFO 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 

Вход в стандартный вывод работает нормально, но ничего не вошли в мой файл. Есть определенные выходы для файла, но ничего не происходит.

Почему он не входит в мой файл?

+0

У вас есть разрешение на запись в 'logs' папку? диск заполнен? – Reimeus

+0

Да, у меня есть разрешение, и диск не заполнен. – Mulgard

+0

Вы работаете под Linux? – Reimeus

ответ

1

Вы можете изменить свой конфигурационный файл следующим образом.

# Root logger option 
log4j.rootLogger= ALL,file, stdout 

И log4j.appender.stdout.Threshold = INFO уровень изменения как ALL его печать все журналы уровня TRACE фатальному

0

Одна из причин может заключаться в том, что пороговое значение для приложения stdout (INFO) меньше, чем файл appender (WARN). Итак, если есть только зарегистрированные сообщения INFO, вы будете видеть их только в stdout, а не в файле.

0

Это зависит от того, как вы его используете. Это обычная программа Java? Например, если вы пытаетесь запустить его в контейнере (например, Karaf), то иногда у них могут быть специальные назначения для журналов.

Смежные вопросы