Spring-Hibernate日志-单独的日志文件



我使用Spring &在我的应用程序中使用Hibernate,我想设置两个不同的日志文件-一个主要日志文件用于所有非sql日志记录,另一个文件用于编写sql查询。这是log4j。属性文件. .但是,当sql日志文件按预期工作时,问题是主日志文件也包含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

这是log4j中appender的加性行为。

对于给定的日志记录器,每个启用的日志记录请求将是转发给该日志记录器中的所有appender以及appender

只需将记录器jdbc.sqltiming的可加性设置为false,其日志消息将不会传播到其父记录器的appender(即app.log)

log4j.additivity.jdbc.sqltiming = false

引用:

关于Appender可加性的更多信息请参见Appenders and Layouts章节

最新更新