Как удалить бессмысленные коды (HHH000...) из журналов гибернации
Я пробую новую версию 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.
1 ответ
Обратитесь к этому, чтобы увидеть имя регистратора log4j, используемого внутренним спящим режимом.
Конфигурируя уровни журналов этих регистраторов log4j для различных значений, вы можете настроить, какие сообщения регистрируются.
Например, log4j.logger.org.hibernate=OFF
отключить все журналы из спящего режима. log4j.logger.org.hibernate=ERROR
только будет регистрировать сообщения, уровень журнала которых по крайней мере ERROR
(т.е. INFO
сообщение журнала уровня не будет выведено)