4

我正在尝试新版本的 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}

我不想完全关闭休眠日志记录,我只是不希望其中包含 HHH000412 之类的代码。

4

1 回答 1

0

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

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

例如,log4j.logger.org.hibernate=OFF禁用休眠中的所有日志记录。log4j.logger.org.hibernate=ERROR只会记录日志级别最低的消息ERROR(即INFO不会输出级别日志消息)

于 2013-02-16T19:32:33.363 回答