Log4j RollingFileAppender
От: Sovun  
Дата: 19.01.10 09:44
Оценка:
Нужно логировать в файл из двух классов.
В файле конфига добавляю аппендер конкретно для этих двух классов.
Оба открывают файл по записи. И в тот момент, когда размер файла превышает 50Кб один из классов пытается переименовать файл. Для этого файл данным классом закрывается.
Но остаётся открытым для другого класса, что не позволяет переименовать файл.
Roll не происходит.
Можно ли решить проблему средствами log4j, или нужно писать свой логгер и передавать его инстанс в оба класса?

log4j.rootLogger=INFO, console
#console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-5p [%t] %C.%M():%-7L%m%n

#file
log4j.category.mypackage.class1 = info, consoleLogFile
log4j.category.mypackage.class2 = info, consoleLogFile
log4j.appender.consoleLogFile=ua.telecard.ATIS.router.util.log4j.RollFileAppender
log4j.appender.consoleLogFile.File=./logs/RouterConsole.log
log4j.apppeder.consoleLogFile.MaxFileSize=50KB
log4j.appender.consoleLogFile.BufferedIO=true
log4j.apppeder.consoleLogFile.MaxBackupIndex=2
log4j.appender.consoleLogFile.Threshold=DEBUG
log4j.appender.consoleLogFile.append=true
log4j.appender.consoleLogFile.layout=org.apache.log4j.PatternLayout
log4j.appender.consoleLogFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.