Sockets 链锯v2插座接收器不与log4j2插座附件一起工作
我正在尝试使用来自的电锯v2 我不想使用零配置。只是一个简单的socketAppender/SocketReceiver组合 我将log4j2用于以下配置Sockets 链锯v2插座接收器不与log4j2插座附件一起工作,sockets,log4j2,apache-chainsaw,Sockets,Log4j2,Apache Chainsaw,我正在尝试使用来自的电锯v2 我不想使用零配置。只是一个简单的socketAppender/SocketReceiver组合 我将log4j2用于以下配置 <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN" > <Appenders> <Console name="CONSOLE" target="SYSTEM_OUT">
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" >
<Appenders>
<Console name="CONSOLE" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<Socket name="SharathZeroConf" host="localhost" port="4445">
</Socket>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="SharathZeroConf" />
<AppenderRef ref="CONSOLE" />
</Root>
</Loggers>
</Configuration>
所以虫子肯定在链锯的一边。斯科特有什么建议吗?你说得对,我也有同样的问题。我只是试了一下,效果很好:
我只需要复制LogMX
lib/
目录中的log4jjar(即Log4j-api-2.xx.jar
和Log4j-core-2.xx.jar
)哇,太棒了,谢谢。我试试看。我想知道LogMX是否明确支持log4j2,或者它只是“偶然”工作。我遇到了一个奇怪的问题,LogMX捕获了我的应用程序日志,但没有捕获spring日志。不过我可以在控制台上看到它们。另外,供计划使用logmx的其他人参考,免费版本将您的日志限制为10000条。您可能需要检查您的Log4j配置:Spring日志使用的appender可能与您的应用程序日志不同(即不是套接字appender
),您可能需要检查您的日志记录器/appender及其可添加性。Spring日志也可以通过Socket Appender的包名进行过滤。查看chainsaw的源代码后,chainsaw似乎仍然使用log4j 1.x,并且对log4j2的支持非常有限。特别是,它将来自套接字的传入日志事件转换为log4j1.xorg.apache.log4j.spi.LoggingEvent
,而发送的log4j2事件实际上是org.apache.logging.log4j.core.LogEvent
对象
java -cp ~/.m2/reposiry/org/apache/logging/log4j/log4j-api/2.0.2/log4j-api-2.0.2.jar org.apache.logging.log4j.core.net.server.TcpSocketServer 4445