【问题标题】:How to prevent hibernate log to my console (eclipse and tomcat general log)?如何防止休眠日志到我的控制台(eclipse和tomcat通用日志)?
【发布时间】:2013-12-12 08:31:49
【问题描述】:

我试图将 Hibernate 的 SQL 输出记录到特定的日志文件中以供以后使用,但是 Hibernate SQL 输出也出现在我的 Eclipse 控制台中(我想稍后会出现在 Tomcat catalina.out 中),并刷新了我的屏幕.

有什么方法可以避免在我的控制台上出现 Hibernate Log 吗?下面是我的 log4j 属性和休眠设置:


loghome=PATH_TO_LOG_DIRECTORY

log4j.rootLogger=ERROR,stdout,HB

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[IRIS-${project}][%p] [%d{yyyy-MM-dd HH:mm:ss}]  [ Class = %C | Method = %M | Line = %L ] | %m |%n

log4j.logger.net.myapplication=info,warn,error
log4j.logger.debug=debug
log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender
log4j.appender.debug.layout=org.apache.log4j.PatternLayout
log4j.appender.debug.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH:mm:ss}]  [ Class = %C | Method = %M | Line = %L ] | %m |%n
log4j.appender.debug.datePattern='.'yyyy-MM-dd
log4j.appender.debug.Threshold=DEBUG
log4j.appender.debug.append=true
log4j.appender.debug.Encoding=UTF-8
log4j.appender.debug.File=${loghome}/debug.log

log4j.logger.info=info
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH:mm:ss}]  [ Class = %C | Method = %M | Line = %L ] | %m |%n
log4j.appender.info.datePattern='.'yyyy-MM-dd
log4j.appender.info.Threshold=INFO
log4j.appender.info.append=true
log4j.appender.info.Encoding=UTF-8
log4j.appender.info.File=${loghome}/info.log

log4j.logger.warn=warn
log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender
log4j.appender.warn.layout=org.apache.log4j.PatternLayout
log4j.appender.warn.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH:mm:ss}]  [ Class = %C | Method = %M | Line = %L ] | %m |%n
log4j.appender.warn.datePattern='.'yyyy-MM-dd
log4j.appender.warn.Threshold=WARN
log4j.appender.warn.append=true
log4j.appender.warn.Encoding=UTF-8
log4j.appender.warn.File=${loghome}/warn.log

log4j.logger.error=error
log4j.appender.error=org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.layout=org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH:mm:ss}]  [ Class = %C | Method = %M | Line = %L ] | %m |%n
log4j.appender.error.datePattern='.'yyyy-MM-dd
log4j.appender.error.Threshold=ERROR
log4j.appender.error.append=true
log4j.appender.error.Encoding=UTF-8
log4j.appender.error.File=${loghome}/error.log


log4j.appender.HB=org.apache.log4j.DailyRollingFileAppender
log4j.appender.HB.layout=org.apache.log4j.PatternLayout
log4j.appender.HB.layout.ConversionPattern=HB: [%d{yyyy-MM-dd HH:mm:ss}]  [ Class = %C | Method = %M | Line = %L ] | %m |%n
log4j.appender.HB.datePattern='.'yyyy-MM-dd
log4j.appender.HB.append=true
log4j.appender.HB.Encoding=UTF-8
log4j.appender.HB.File=${loghome}/hb.log

log4j.logger.org.hibernate.SQL=HB

休眠设置:

hibernate.dialect=org.hydra.webapp.util.MySQL5MyISAMDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=<URL>
hibernate.connection.username=<USER>
hibernate.connection.password=<PASSWORD>
hibernate.connection.show_sql=false
dao.type=hibernate

【问题讨论】:

    标签: eclipse hibernate tomcat log4j


    【解决方案1】:

    似乎您必须将 additivity 标志设置为 false 以防止将日志记录事件发送到父级(在本例中为控制台记录器)。检查

    Log4j Manualthis

    【讨论】:

    • 感谢您的回复!我为可加性添加了一个新行(log4j.additivity.org.hibernate=false),但我的控制台仍然在捕获来自休眠的输出...
    猜你喜欢
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    相关资源
    最近更新 更多