2014-02-21 3 views
10

Я хочу ежедневные журналы с файлом журнала, добавленным с датой в формате yyyy-dd-mm. Когда я использую DailyRollingFileAppender, новый файл журнала не создается. Журналы записываются в один и тот же файл журнала. Кроме того, данный шаблон даты не рассматривается. Созданный файл журнала - LoggerFile.log. И каждый контент (даже на следующий день) записывается в этот файл.log4j свойства DailyRollingFileAppender не работает

Я использую банку log4j-1.2.17. Я развиваюсь в Netbeans 7.3.1 на Java.

Есть ли кто-нибудь, кто использует этот JAR и сталкивается с такой проблемой. Пожалуйста помоги!

Вот содержание файла свойств я использую:

# Root logger option 
log4j.rootLogger=ERROR,FILE,stdout 

# Define the file appender 
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender 

log4j.appender.FILE.File=.//..//logs//LoggerFile.log 

# Define the layout for file appender 
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS zzz} %5p  %c{1}:%L - %m%n 

log4j.appender.FILE.MaxFileSize=10MB 


# Direct log messages to stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
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

Вы пробовали использовать абсолютный путь? – cbach

+0

Вы нашли решение? –

ответ

-1

Попробуйте добавить еще одну строку log4j.appender.file.Append = истина

Полный код выглядит, как показано ниже

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

      # Daily rolling file appender 
      log4j.appender.file=org.apache.log4j.DailyRollingFileAppender 
      log4j.appender.file.File=logs/mylogs.log 
      log4j.appender.file.Append=true 
      log4j.appender.file.DatePattern='.'dd-MM-yyyy 
      log4j.appender.file.MaxFileSize=10MB 
      log4j.appender.file.MaxBackupIndex=100 
      log4j.appender.file.encoding=UTF-8 
      log4j.appender.file.layout=org.apache.log4j.PatternLayout 
      log4j.appender.file.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n 
+0

Я использую log4j 1.2.16. Я получаю следующие предупреждения, используя ваши свойства: 'log4j: WARN Нет такого свойства [maxBackupIndex] в org.apache.log4j.DailyRollingFileAppender.' и ' log4j: WARN Нет такого свойства [maxFileSize] в org.apache.log4j.DailyRollingFileAppender. 'Должны ли эти свойства быть включены в ваш ответ? – stackoverflowuser2010

+0

@ stackoverflowuser2010 Когда вы используете DailyRollingFileAppender с DatePattern, вы не можете использовать MaxFileSize или MaxBackupIndex.Просто удалите эти два свойства, затем предупреждения исчезнут. Вы можете использовать MaxFileSize и MaxBackupIndex, если вы не используете свойство DatePattern. – wolf97084

+0

Это не для меня. –

0

Прежде всего, у вас есть ошибка, так как DailyRollingFileAppender не поддерживает недвижимость MaxFileSize.

Тогда вы можете попытаться удалить символ ' из DatePattern:

Попробуйте изменить

log4j.appender.FILE.DatePattern='.'yyyy-MM-dd 

в

log4j.appender.FILE.DatePattern=.yyyy-MM-dd 
+1

удаление '' 'может быть неправильным решением. 'Этот шаблон должен следовать соглашениям SimpleDateFormat. В частности, вы должны избегать буквального текста внутри пары одиночных кавычек. ', за [документ] (https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/DailyRollingFileAppender.html) –

2

Я имел аналогичные требования ежедневной ротации лог-файл .. (Хотя вопрос старше, подумал, что ответ поможет другим).

Ключевые моменты:

  1. Прежде всего, мы можем избежать использования DailyRollingFileAppender. Зачем? Наблюдалось, что DailyRollingFileAppender обнаруживает проблемы синхронизации и потери данных. Сопутствующий компонент log4j включает альтернативы, которые следует учитывать для новых развертываний и которые обсуждаются в документации для org.apache.log4j.rolling.RollingFileAppender. Справка: Documentation of Daily Rolling File Appender

  2. Apache log4j дополнительные функции, предложить ли использовать org.apache.log4j.rolling.RollingFileAppender с Time based rolling policy

  3. Может найти конфигурацию sample для вращения на основе времени регистрации.

Надеюсь, это поможет.

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