gpt4 book ai didi

java - 如何为来自多个设备的输入配置 apache 电锯

转载 作者:搜寻专家 更新时间:2023-10-30 23:02:13 25 4
gpt4 key购买 nike

我是电锯和 log4j 的新手,这是之前 post 的后续.我有一些设备使用套接字处理程序使用以下配置文件将记录发送到拼图:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration >
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
<plugin name="XMLSocketReceiver" class="org.apache.log4j.net.XMLSocketReceiver">
<param name="decoder" value="org.apache.log4j.xml.UtilLoggingXMLDecoder"/>
<param name="Port" value="2222"/>
</plugin>
<appender name="fileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="Threshold" value="INFO" />
<param name="File" value="chainsawtablet.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c{1}] %m %n" />
</layout>
</appender>
<root>
<priority value="debug"/>
<appender-ref ref="fileAppender" />
</root>
</log4j:configuration>

接收器似乎可以工作,因为我在电锯图形用户界面中看到一个带有一些日志记录的选项卡。但它似乎从不写日志文件。也许它在等待一天过去或什么的。有没有办法让它更频繁地翻转?

日志文件中没有显示任何记录。我需要一些 xml 来将接收器连接到 appender 还是它是自动的?

我希望日志文件由它们的源主机分隔。另外,如果重新启动连接,我希望日志文件滚动更新。

我还想保留一个星期的日志文件。

我想查看所有日志记录,所以应该:param name="Threshold" value="INFO"ALL 而不是 INFO?

怎么样:priority value="debug"

任何指针将不胜感激。

编辑:尝试:datePattern value="yyyyMMdd-HHmm" 据推测每分钟滚动一次也不会生成任何日志文件。

编辑相关questionpost , 还有 herethere .

最佳答案

您似乎没有将 log4j 连接到 Chainsaw。您在 Chainsaw GUI 中看到的日志消息 - 它们看起来像内部 Chainsaw 自记录消息吗?

您需要配置一个 SocketAppender 并将其链接到至少一个记录器或根记录器。来自您的应用程序的事件将出现在 Chainsaw 中。如果您想注销到日志文件,那是另一回事,但我假设您想将 Chainsaw 用作实时事件显示 GUI,因为这是大多数人使用它的目的。

这是一个最小的配置文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' debug='true'>

<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %5p %c - %m%n"/>
</layout>
</appender>

<appender name="CHAINSAW" class="org.apache.log4j.net.SocketAppender">
<param name="RemoteHost" value="localhost"/>
<param name="Port" value="4445"/>
<param name="LocationInfo" value="true"/>
</appender>

<root>
<level value ="debug"/>
<appender-ref ref="STDOUT" />
<appender-ref ref="CHAINSAW" />
</root>

</log4j:configuration>

关于java - 如何为来自多个设备的输入配置 apache 电锯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37359339/

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