今天早上我被一个警报惊醒,我的CF 10服务器(Windows)耗尽了硬盘空间。看来我的hibernatesql.log文件超过了20GB!首先,我检查了我的Application.cfc并确认已禁用日志记录...
<cfset this.ormsettings.logsql = false/>
然后我开始使用Google搜索并发现至少有一种方法可以防止日志文件变得如此之大。您必须修改/lib/log4j.properties,如此...
# HibernateConsole is set to be a ConsoleAppender for Hibernate message using a PatternLayout.
log4j.appender.HIBERNATECONSOLE= org.apache.log4j.RollingFileAppender
log4j.appender.HIBERNATECONSOLE.File=C:/ColdFusion10/cfusion/logs/hibernatesql.log
log4j.appender.HIBERNATECONSOLE.Append=true
log4j.appender.HIBERNATECONSOLE.MaxFileSize=5000KB
log4j.appender.HIBERNATECONSOLE.MaxBackupIndex=3
log4j.appender.HIBERNATECONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.HIBERNATECONSOLE.layout.ConversionPattern=%d{MM/dd HH:mm:ss} [%t] HIBERNATE %-5p - %m%n%
这确保我使用不超过15MB的硬盘空间来进行休眠日志记录。但是,我真的想要禁用它,或者至少将日志级别设置为仅错误。有什么想法吗?
答案 0 :(得分:1)
要关闭日志记录,请将此行添加到log4j.properties文件
log4j.appender.HIBERNATECONSOLE.Threshold = OFF
除OFF外,可能的阈值水平集为:TRACE,DEBUG,INFO,WARN,ERROR和FATAL。
答案 1 :(得分:0)
我认为这是bug,但结果却不是。
Hibernate使用log4j进行日志记录,您可以完全控制 通过修改log4j.properties来记录它(包括SQL)。 log4j.properties存在于/ lib目录下。请注意 您不需要为此进行任何特定于应用程序的设置。
http://www.rupeshk.org/blog/index.php/2009/07/coldfusion-orm-how-to-log-sql/