如何从休眠日志中删除无意义的代码(HHH000 ...)

时间:2013-02-16 18:40:15

标签: hibernate logging jboss-logging

我正在尝试新版本的Hibernate(到目前为止我已经使用了3.x),Hibernate因任何原因切换到了jboss-logging。这是我可以轻松使用的东西,但我喜欢保持我的日志清洁和可读,并将代码插入到日志消息中:

16 Feb 2013 19:25:08,352 INFO  [Version:37] - HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
16 Feb 2013 19:25:08,357 INFO  [Version:41] - HHH000412: Hibernate Core {4.1.9.Final}
16 Feb 2013 19:25:08,358 INFO  [Environment:239] - HHH000206: hibernate.properties not found
16 Feb 2013 19:25:08,359 INFO  [Environment:342] - HHH000021: Bytecode provider name : javassist

我使用log4j作为日志库,我的模式是

log4j.appender.stdout.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} %-5p [%c{1}:%L] - %m%n

这表明代码已经是log4j消息的一部分。

那么有没有办法从日志消息中删除代码

16 Feb 2013 19:25:08,357 INFO  [Version:41] - Hibernate Core {4.1.9.Final}

我不想完全关闭hibernate日志记录,我只是不想要像HHH000412这样的代码。

1 个答案:

答案 0 :(得分:0)

请参阅this以查看hibernate内部使用的log4j记录器的名称。

通过将这些log4j记录器的日志级别配置为不同的值,您可以配置记录消息的内容。

例如,log4j.logger.org.hibernate=OFF禁用所有来自hibernate的日志记录。 log4j.logger.org.hibernate=ERROR仅记录日志级别至少为ERROR的消息(即不会输出INFO级别的日志消息)