Ежедневный апплет Log4J усекает ежедневные файлы - PullRequest
2 голосов
/ 02 сентября 2011

У меня странная проблема с моим log4JAppender.

Я использую dailyRollingFileAppender, и его конфигурация выглядит следующим образом:

#---------------------------------------------------------------------------------------
# Log config for the Web
#---------------------------------------------------------------------------------------
log4j.appender.aWeb = org.apache.log4j.DailyRollingFileAppender
log4j.appender.aWeb.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.aWeb.file = @LOG_DIR@/web.log
log4j.appender.aWeb.layout = org.apache.log4j.PatternLayout
log4j.appender.aWeb.layout.ConversionPattern = [ %d [%t] %C{2}.%M():%L %X{USER_NAME}%x %-5p]: %m%n

Теперь мой основной файл журнала работает нормально, проблема возникает с ежедневно создаваемыми файлами.

Ежедневно обновляемый файл не имеет полного журнала, а усечен.

Несколько замечаний: 1. Усечение не зависит от длины, т. Е. В разных файлах содержится разное количество зарегистрированных данных. 2. Возможно, число операторов журнала может быть одинаковым, то есть после 20 операторов журнала журнал усекается, или, может быть, что-то подобное.

Я не уверен, почему это происходит, кто-то уже сталкивался с этой проблемой, если нет, то какие могут быть возможные обходные пути для того же.

Спасибо

1 Ответ

0 голосов
/ 02 сентября 2011

Я не сталкивался с проблемой, с которой вы сталкиваетесь в DailyRollingFileAppender, но я бы порекомендовал RollingFileAppender в сочетании с TimeBasedRollingPolicy из пакета дополнений log4j - http://logging.apache.org/log4j/companions/extras/index.html

Это хорошо сработало для нас. Нет проблем с усечением. Пример конфигурации ниже.

# Define the appender which is the RollingFileAppender in the Log4j extras packages
log4j.appender.FILE=org.apache.log4j.rolling.RollingFileAppender
# Define a the RollingPolicy for this Appender
# More information at http://logging.apache.org/log4j/companions/extras/apidocs/org/apache/log4j/rolling/TimeBasedRollingPolicy.html
log4j.appender.FILE.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
# Define the active file name for this RollingPolicy this is the file were current log is placed
log4j.appender.FILE.RollingPolicy.ActiveFileName=@LOG_DIR@/web.log
# Define the file name for the rolling policy. This file location contains a pattern that specifies how often the file will roll over and if compression should occur or not.
log4j.appender.FILE.RollingPolicy.FileNamePattern=@LOG_DIR@/web.%d{yyyy-MM-dd}-00-00.log.gz
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...