log4j append = false у меня не работает ... почему? - PullRequest
3 голосов
/ 14 сентября 2010

Я настроил ниже для log4j, который выводит файл журнала csv. Каждый раз, когда моя программа выполняется, я хочу запустить этот файл журнала заново, перезаписав его, не добавляя в файл журнала. Я думал, что смогу достичь этого, используя append=false. Я знаю, что правильно настроил log4j, так как другие журналы выводятся нормально, но это ежедневные скользящие журналы, которые добавляются, и это влияет на желание.

Может кто-нибудь сказать мне, почему append=false, кажется, не работает. Есть еще одна настройка, которую я пропустил?

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

#Image output
log4j.logger.fetch.FetchDirectHolidays=debug, S
log4j.appender.S=org.apache.log4j.FileAppender
log4j.appender.S.File=xml\\logs\\FetchDirectHolidays.csv
log4j.appender.S.append=false 
# Keep one backup file
log4j.appender.S.layout=org.apache.log4j.PatternLayout
log4j.appender.S.layout.ConversionPattern= %p , %m%n

Что не так с моей конфигурацией?

Я забыл заявить, что мое приложение запланировано, и я только что прочитал, что Append = false очищает файл журнала только в том случае, если все приложение закрывается и перезапускается. Это не помогает, так как мне нужно очищать этот файл журнала каждый раз, когда выполняются внутренние процессы.

Ответы [ 2 ]

6 голосов
/ 15 сентября 2010

Попробуйте

log4j.appender.S.Append=false

с большой буквы A для добавления

2 голосов
/ 15 октября 2013
# Define the root logger with appender file R
log4j.rootLogger = INFO, FILE,stdout

# Define the file appender (File) 
log4j.appender.FILE=org.apache.log4j.FileAppender

# Set the name of the file
log4j.appender.FILE.File=C:/user/FileName.log

# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true

# Set the append to false, overwrite
log4j.appender.FILE.Append=false

# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=[%5p ] - %m%n



# Direct log messages to stdout (Console)
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=[%5p ] - %m%n
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...