同一日志行上的 Java EE 重复信息

发布于 01-12 05:55 字数 3794 浏览 7 评论 0原文

我想将 log4j2 版本 2.17.1 与 wildfly 15 一起使用。我做了所有编写的内容 此处此处但它没有完全正常工作。

我的问题是,对于标准输出日志,某些信息(例如日期和级别)在同一日志行上重复。

09:48:48,810 INFO  [stdout] (default task-1) 2022-03-07 09:48:48,810 [default task-1] INFO  com.happypanda.rest.DashboardResourceImpl - Calling getDashboard with parameters: filter=null; order=null; offset=null; limit=null

我只需要控制台日志记录。我尝试排除日志系统,但到目前为止没有成功。我仍然在同一行standalone.xml 配置上看到重复信息

<system-properties>
    <property name="log4j.configurationFile" value="${env.JBOSS_HOME}/standalone/configuration/log4j2.xml"/>
</system-properties>

<subsystem xmlns="urn:jboss:domain:logging:6.0">
    <add-logging-api-dependencies value="false"/>
    <use-deployment-logging-config value="false"/>
    <console-handler name="CONSOLE">
        <level name="INFO"/>
        <formatter>
            <named-formatter name="COLOR-PATTERN"/>
        </formatter>
    </console-handler>
    <periodic-rotating-file-handler name="FILE" autoflush="true">
        <formatter>
            <named-formatter name="PATTERN"/>
        </formatter>
        <file relative-to="jboss.server.log.dir" path="server.log"/>
        <suffix value=".yyyy-MM-dd"/>
        <append value="true"/>
    </periodic-rotating-file-handler>
    <logger category="com.arjuna">
        <level name="WARN"/>
    </logger>
    <logger category="com.github.tennaito">
        <level name="ERROR"/>
    </logger>
    <logger category="org.jboss.as.config">
        <level name="DEBUG"/>
    </logger>
    <logger category="sun.rmi">
        <level name="WARN"/>
    </logger>
    <root-logger>
        <level name="INFO"/>
        <handlers>
            <handler name="CONSOLE"/>
            <handler name="FILE"/>
        </handlers>
    </root-logger>
    <formatter name="PATTERN">
        <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
    </formatter>
    <formatter name="COLOR-PATTERN">
        <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
    </formatter>
</subsystem> 

log4j2.xml 位置位于 /standalone/configuration

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="ConsoleAppender" target="SYSTEM_OUT">
            <PatternLayout pattern="%d [%t] %-5level %logger{36} - %msg%n%throwable"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="ConsoleAppender"/>
        </Root>
    </Loggers>
</Configuration>

jboss-deployment-struction.xml 文件的正确位置是什么?我尝试了 WEB-INF、META-INF 和资源。

甚至可以使用 log4j2 在 Wildfly 中记录 stdout 吗?

后来编辑:

我将以下配置添加到standalone.xml文件中:

<console-handler name="stdout" autoflush="true">
    <level name="INFO"/>
    <formatter>
        <pattern-formatter pattern="%s%n"/>
    </formatter>
</console-handler>
<logger category="stdout" use-parent-handlers="false">
    <level name="INFO"/>
    <handlers>
        <handler name="stdout"/>
    </handlers>
</logger>

我在同一日志行上看到相同的重复信息。

I want to use log4j2 version 2.17.1 with wildfly 15. I did all that was written here and here but it isn't fully working.

My issue is that for the stdout logs, some information (like date and level) is duplicated on the same log line.

09:48:48,810 INFO  [stdout] (default task-1) 2022-03-07 09:48:48,810 [default task-1] INFO  com.happypanda.rest.DashboardResourceImpl - Calling getDashboard with parameters: filter=null; order=null; offset=null; limit=null

I need only console logging. I tried to exclude the logging system but no success so far. I still see duplicates info on same line

standalone.xml configurations:

<system-properties>
    <property name="log4j.configurationFile" value="${env.JBOSS_HOME}/standalone/configuration/log4j2.xml"/>
</system-properties>

<subsystem xmlns="urn:jboss:domain:logging:6.0">
    <add-logging-api-dependencies value="false"/>
    <use-deployment-logging-config value="false"/>
    <console-handler name="CONSOLE">
        <level name="INFO"/>
        <formatter>
            <named-formatter name="COLOR-PATTERN"/>
        </formatter>
    </console-handler>
    <periodic-rotating-file-handler name="FILE" autoflush="true">
        <formatter>
            <named-formatter name="PATTERN"/>
        </formatter>
        <file relative-to="jboss.server.log.dir" path="server.log"/>
        <suffix value=".yyyy-MM-dd"/>
        <append value="true"/>
    </periodic-rotating-file-handler>
    <logger category="com.arjuna">
        <level name="WARN"/>
    </logger>
    <logger category="com.github.tennaito">
        <level name="ERROR"/>
    </logger>
    <logger category="org.jboss.as.config">
        <level name="DEBUG"/>
    </logger>
    <logger category="sun.rmi">
        <level name="WARN"/>
    </logger>
    <root-logger>
        <level name="INFO"/>
        <handlers>
            <handler name="CONSOLE"/>
            <handler name="FILE"/>
        </handlers>
    </root-logger>
    <formatter name="PATTERN">
        <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
    </formatter>
    <formatter name="COLOR-PATTERN">
        <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
    </formatter>
</subsystem> 

log4j2.xml location is under /standalone/configuration

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Appenders>
        <Console name="ConsoleAppender" target="SYSTEM_OUT">
            <PatternLayout pattern="%d [%t] %-5level %logger{36} - %msg%n%throwable"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="ConsoleAppender"/>
        </Root>
    </Loggers>
</Configuration>

What are the correct locations for jboss-deployment-structure.xml file? I tried WEB-INF, META-INF and resources.

It's even possible to use log4j2 to log stdout in wildfly?

Later edit:

I added the following config to standalone.xml file:

<console-handler name="stdout" autoflush="true">
    <level name="INFO"/>
    <formatter>
        <pattern-formatter pattern="%s%n"/>
    </formatter>
</console-handler>
<logger category="stdout" use-parent-handlers="false">
    <level name="INFO"/>
    <handlers>
        <handler name="stdout"/>
    </handlers>
</logger>

I see the same duplicate information on the same log line.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文