简体   繁体   English

jboss standalone.xml记录器类别到不同的文件

[英]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.

相关问题 如何在 Wildfly Standalone.xml 中将不同的日志级别记录到同一类别的不同日志文件中? - How to log different log level to different log file from the same category in Wildfly standalone.xml? JBoss standalone.xml 文件更改被覆盖 - JBoss standalone.xml file changes are being overridden 编辑standalone.xml后出现错误Jboss - ERROR Jboss after edit of standalone.xml 从standalone.xml到MQ的JBoss连接 - JBoss connection to MQ from standalone.xml Jboss 7,如何在standalone.xml中添加自定义日志级别 - Jboss 7 , How to add a custom log level in standalone.xml 在standalone.xml(JBOSS)中配置特定的SFSB状态超时 - Configure specific SFSB stateful-timeout in standalone.xml (JBOSS) 如何在JBOSS中修改standalone.xml,使其从外部可见? - How to modify standalone.xml in JBOSS so that it is visible from outside? 如何使用standalone.xml在JBoss 7.0中分离应用程序日志 - How to separate application Logs in JBoss 7.0 using standalone.xml 在standalone.xml文件中要进行哪些更改以将特定目录排除在自动部署到JBoss Server中之外[Wildfly 9xx] - What changes to be made in standalone.xml file to exclude a particular directory from getting auto deployed in JBoss Server[Wildfly 9xx] 在 Jboss standalone.xml 中找不到扩展模块 org.jboss.as.messaging - Cannot find extension module org.jboss.as.messaging in Jboss standalone.xml
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM