Spring-Hibernate logging - отдельные файлы журнала - PullRequest
1 голос
/ 12 августа 2011

Я использую Spring & Hibernate в своем приложении, и я хочу настроить два разных файла журнала - один основной файл журнала для всех журналов не-SQL и другой файл для написания SQL-запросов. Это мой файл log4j.properties .. Но хотя файл журнала sql работает, как и ожидалось, проблема в том, что основной файл журнала также содержит запросы sql. файл ..

#application log properties
log4j.appender.rollingFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.rollingFile.File = C:\\myapp\\logs\\app.log
log4j.appender.rollingFile.Threshold = TRACE
log4j.appender.rollingFile.DatePattern = '.'yyyy-MM-dd
log4j.appender.rollingFile.layout = org.apache.log4j.PatternLayout 
log4j.appender.rollingFile.layout.ConversionPattern=%d %5p [%C:%M:%L] - %m%n
log4j.rootLogger = ERROR, rollingFile

#hibernate properties
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.file.File = C:\\myapp\\logs\\sql.log
log4j.appender.file.Threshold = TRACE
log4j.appender.file.DatePattern = '.'yyyy-MM-dd
log4j.appender.file.layout = org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d %5p [%C:%M:%L] - %m%n
log4j.logger.jdbc.sqltiming = DEBUG, file

1 Ответ

2 голосов
/ 12 августа 2011

Это поведение аддитивности для appenders в log4j.

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

Просто установите аддитивность для регистратора jdbc.sqltiming в значение false, и его сообщения журнала не будут распространяться на приложения родительских регистраторов (т.е. app.log)

log4j.additivity.jdbc.sqltiming = false

Ссылки:

См. Раздел Appenders and Layouts для получения дополнительной информации о аддитивности Appender

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...