[英]jboss standalone.xml logger category to different file
I want to configure jboss 7 to save two categories in different file, but this file sql_hib.log is empty when i start jboss. 我想配置jboss 7在不同的文件中保存两个类别,但是当我启动jboss时,这个文件sql_hib.log是空的。 FILE_SQL handler doesn't working.
FILE_SQL处理程序不起作用。 I don't know why... If i place FILE_SQL to root loggers - then sql_hib.log starts to grow, but in that case it contains a lot of redundant logs.
我不知道为什么......如果我将FILE_SQL放到root loggers中 - 那么sql_hib.log开始增长,但在这种情况下它包含很多冗余日志。 That is the part of standalone.xml
这是standalone.xml的一部分
<subsystem xmlns="urn:jboss:domain:logging:1.1">
<console-handler name="CONSOLE">
...
</console-handler>
<periodic-rotating-file-handler name="FILE">
...
</periodic-rotating-file-handler>
<periodic-rotating-file-handler name="FILE_SQL" autoflush="true">
<level name="TRACE"/>
<formatter>
<pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="sql_hib.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<logger category="org.hibernate.sql">
<level name="TRACE"/>
<handlers>
<handler name="FILE_SQL"/>
</handlers>
</logger>
<logger category="org.hibernate">
<level name="TRACE"/>
<handlers>
<handler name="FILE_SQL"/>
</handlers>
</logger>
<root-logger>
<level name="TRACE"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
</subsystem>
I've made this setting to debug sql queries and parameters. 我已经设置了这个设置来调试sql查询和参数。 That's why i've decided to use separate file.
这就是为什么我决定使用单独的文件。 Also i made more categories, because one class is making too much text.
此外,我制作了更多类别,因为一个班级制作的文字过多。
AbstractResultSetProxyHandler
As i mentioned before - settings just starts working... I change them a bit - to avoid ocean unnecessary text. AbstractResultSetProxyHandler
正如我之前提到的 - 设置刚开始工作......我稍微改变它们 - 以避免海洋不必要的文本。 Result settings: 结果设置:
<subsystem xmlns="urn:jboss:domain:logging:1.1">
<console-handler name="CONSOLE">
<level name="INFO"/>
<formatter>
<pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE">
<formatter>
<pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<periodic-rotating-file-handler name="FILE_SQL" autoflush="true">
<level name="TRACE"/>
<formatter>
<pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="sql_hib.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<logger category="org.hibernate.SQL">
<level name="TRACE"/>
<handlers>
<handler name="FILE_SQL"/>
</handlers>
</logger>
<logger category="org.hibernate.type">
<level name="TRACE"/>
<handlers>
<handler name="FILE_SQL"/>
</handlers>
</logger>
<logger category="org.hibernate.loader">
<level name="TRACE"/>
<handlers>
<handler name="FILE_SQL"/>
</handlers>
</logger>
<logger category="org.hibernate.persister">
<level name="TRACE"/>
<handlers>
<handler name="FILE_SQL"/>
</handlers>
</logger>
<logger category="org.hibernate.hql">
<level name="TRACE"/>
<handlers>
<handler name="FILE_SQL"/>
</handlers>
</logger>
<logger category="org.hibernate.cfg">
<level name="TRACE"/>
<handlers>
<handler name="FILE_SQL"/>
</handlers>
</logger>
<logger category="org.hibernate.dialect">
<level name="TRACE"/>
<handlers>
<handler name="FILE_SQL"/>
</handlers>
</logger>
<logger category="org.hibernate.service">
<level name="TRACE"/>
<handlers>
<handler name="FILE_SQL"/>
</handlers>
</logger>
<logger category="org.hibernate.engine.jdbc.internal.proxy.PreparedStatementProxyHandler">
<level name="TRACE"/>
<handlers>
<handler name="FILE_SQL"/>
</handlers>
</logger>
<root-logger>
<level name="DEBUG"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
</subsystem>
I know that it's better to filter just one AbstractResultSetProxyHandler
than i place every other category to settings. 我知道最好只过滤一个
AbstractResultSetProxyHandler
不是将每个其他类别放到设置中。 But i don't know how to filter. 但我不知道如何过滤。 And that settings works.
这些设置有效。 But hibernate logs are written in
server.log
too. 但是hibernate日志也是用
server.log
编写的。 I don't understand why 我不明白为什么
I know it's a very old thread. 我知道这是一个非常古老的主题。 But it might help someone.
但它可能对某人有所帮助。 use-parent-handlers will do the trick.
use-parent-handlers可以解决这个问题。 In this case, it won't print duplicated log through root-logger.
在这种情况下,它不会通过root-logger打印重复的日志。
<periodic-rotating-file-handler name="FILE_SQL" autoflush="true">
<level name="TRACE"/>
<formatter>
<pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p [%c] (%t) %s%E%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="sql_hib.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<logger category="org.hibernate.SQL" use-parent-handlers="false">
<level name="TRACE"/>
<handlers>
<handler name="FILE_SQL"/>
</handlers>
</logger>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.