gpt4 book ai didi

log4j - 在 log4j 中使用 RollingFileAppender、DailyRollingFileAppender、ConsoleAppender。不工作

转载 作者:行者123 更新时间:2023-12-02 03:56:32 25 4
gpt4 key购买 nike

我的要求是将消息记录到 3 个单独的日志文件中。

我在 JBOSS 服务器中使用 3 个附加程序。

其中三个需要按如下方式工作1.RollingFileAppender、consoleAppender 适用于“INFO”和“ERROR”模式。2.DailyRollingFileAppender 用于“ERROR”模式且仅用于特定类别。

我已经尝试了很多组合,比如更改优先级值和类别,但到目前为止我还没有找到所有这三个同时工作的方法。 fileAppender 和 ConsoleAppender 工作(同时记录 ERRROR 和 INFO)而 DailyRollingFileAppender 不工作或 DailyRollingFileAppender 工作但其他两个只记录错误而不记录信息。

请告诉我一个方法,让他们三个一起工作。

下面提到的是我正在使用的 log4j.xml。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<!-- ===================================================================== -->
<!-- -->
<!-- Log4j Configuration -->
<!-- -->
<!-- ===================================================================== -->

<!-- -->

<!--
| For more configuration infromation and examples see the Jakarta Log4j
| owebsite: http://jakarta.apache.org/log4j
-->

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">

<!-- file appender -->
<appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="C:/logs/mdmWSServer.log" />
<param name="MaxBackupIndex" value="5" />
<param name="MaxFileSize" value="5MB" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{ISO8601}] [%t] [%-5p][ %c:] %m%n"/>
</layout>
</appender>

<appender name="dailyFileAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="C:/logs/dailyApp.log"/>
<param name="MaxBackupIndex" value="5" />
<param name="MaxFileSize" value="5MB" />
<param name="DatePattern" value="'.'yyyy-MM-dd-HH" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{ISO8601}] [%t] [%-5p][%c:] %m%n"/>
</layout>
</appender>

<appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{ISO8601}] [%t] %m%n"/>
</layout>
</appender>

<category name="com">
<priority value="INFO"/>
<appender-ref ref="fileAppender"/>
<appender-ref ref="consoleAppender"/>
</category>
<category name="com.gsk">
<priority value="ERROR"/>
<appender-ref ref="dailyFileAppender"/>
</category>
<category name="org.apache">
<priority value="INFO"/>
<appender-ref ref="fileAppender"/>
</category>

<root>
<priority value="DEBUG"/>
<appender-ref ref="fileAppender"/>
<appender-ref ref="consoleAppender"/>
</root>
</log4j:configuration>

最佳答案

您可以通过使用 filter class 指定您想要记录的级别来限制 appender 仅记录特定级别。请参阅下面的示例代码

    <appender name="TRACE" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%t] %-5p %c - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="DEBUG" />
<param name="levelMax" value="DEBUG" />
</filter>
</appender>

关于log4j - 在 log4j 中使用 RollingFileAppender、DailyRollingFileAppender、ConsoleAppender。不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12316393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com