FileAppender ничего не пишет в log4j - PullRequest
2 голосов
/ 21 ноября 2011

У меня небольшая проблема с использованием log4j и FileAppender.Когда я использую ConsoleAppender, все работает хорошо, но FileAppender никогда не создаст файл (или не запишет в файл).Более того, у меня нет ошибок, связанных с log4j в консоли osgi.

Вот моя конфигурация:

# main link (console or file, depending on what we want)
# log4j.category.com.foo=DEBUG, console
  log4j.category.com.foo=DEBUG, file
# log4j.category.com.foo=DEBUG, console, file

#  console logging
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-4r %-5p %c %x - %m%n

# file logging
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=C:\\Users\\foo\\some_file.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%-4r %-5p %c %x - %m%n

Обратите внимание, что атрибуты ConversionPattern абсолютно совпадают в двух приложениях.

Я попытался изменить аргумент File, чтобы записать журнал в каталог "run", но он ничего не сделал.Я также попытался добавить log4j.appender.file.ImmediateFlush=true безуспешно.

Я что-то упустил (очевидное?) Где-нибудь?Звучит странно, что log4j даже не может записать простой журнал в файл ....

Заранее большое спасибо за вашу помощь.

Ответы [ 2 ]

4 голосов
/ 21 ноября 2011

Заменить:

 log4j.category.com.foo=DEBUG, console

По:

 log4j.category.com.foo=DEBUG, console, file
0 голосов
/ 29 января 2015

Я знаю, что это старый, но для других Googlers ... Для меня это было просто использование неправильного пакета.Я использовал org.apache.logging.log4j вместо org.apache.log4j. Если вы используете Maven, используйте это:

    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
...