看起来Chainsaw的开发已经在4年前停止了(2006-03-02的最后开发版本)......
任何人都知道提供相同功能的替换工具,但有更新的版本?
我正在使用slf4j + logback进行日志记录.我正在寻找一个好的事件日志查看器(如Apache Chainsaw).Logback网站提到Lilith.莉莉丝网站不仅丑陋(网站主页上也这样说),但也缺乏任何文件.
有没有关于如何开始使用Lilith的教程(可能我发现很难掌握,因为我从未使用过Apache Chainsaw,如果我阅读Chainsaw的教程会有帮助吗?).
此外,是否有任何替代日志查看器用于更好的文档?
我试图让log4net通过udp登录到电锯,但它不能在Windows 7上工作.我的配置文件如下:
<log4net debug="true">
<appender name="trace" type="log4net.Appender.TraceAppender, log4net">
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<appender name="UdpAppender" type="log4net.Appender.UdpAppender">
<remoteAddress value="127.0.0.1" />
<remotePort value="8085" />
<layout type="log4net.Layout.XmlLayoutSchemaLog4j">
<locationInfo value="true" />
</layout>
</appender>
<root>
<level value="TRACE" />
<appender-ref ref="trace" />
<appender-ref ref="UdpAppender" />
</root>
Run Code Online (Sandbox Code Playgroud)
我的电锯配置文件如下所示:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
<plugin name="UDPReceiver" class="org.apache.log4j.net.UDPReceiver">
<param name="Port" value="8085" />
</plugin>
</log4j:configuration>
Run Code Online (Sandbox Code Playgroud)
所有这些都是根据以下文档找到的:http://logging.apache.org/log4net/release/howto/chainsaw.html
然而,没有任何日志出现.
我想开始使用Chainsaw v2.几乎没有关于它的信息.我发现只有这个,但链接无法打开,所以不清楚.
我使用socketAppender:
log4j.rootLogger=DEBUG, server
log4j.appender.server=org.apache.log4j.net.SocketAppender
log4j.appender.server.Port=4712
log4j.appender.server.RemoteHost=localhost
log4j.appender.server.ReconnectionDelay=10000
Run Code Online (Sandbox Code Playgroud)
我创建了文件log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration >
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true">
<appender name="A2" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.SimpleLayout"/>
</appender>
<plugin name="SocketReceiver" class="org.apache.log4j.net.SocketReceiver">
<param name="Port" value="4712"/>
</plugin>
<root>
<level value="debug"/>
</root>
</log4j:configuration>
Run Code Online (Sandbox Code Playgroud)
并选择它let me search for configuration file.但是没有日志.接下来我该怎么办?
我是新来的电锯和log4j的,这是一个后续到以前的帖子.我有一些设备使用套接字处理程序使用以下配置文件将记录发送到拼图:
<?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>
Run Code Online (Sandbox Code Playgroud)
接收器似乎工作,我看到电锯gui中的一个标签,带有一些日志记录.但它似乎永远不会写一个日志文件.也许它正在等待一天过去或其他什么.有没有办法让它更经常翻滚?
日志文件中没有记录.我需要一些xml来将接收器挂钩到一个appender还是自动的?
我希望日志文件由其源主机分隔.此外,如果重新启动连接,我希望日志文件翻转.
我还想保留一周的日志文件.
我希望看到所有的日志记录,所以应该:param name="Threshold" value="INFO" 是ALL不是INFO?
怎么样:priority value="debug"?
任何指针将不胜感激.
编辑:尝试a: datePattern value="yyyyMMdd-HHmm"据说每分钟滚动也不会生成任何日志文件.
我有一个Java Web应用程序,目前使用Log4J进行日志记录.我想使用Apache Chainsaw远程查看和解析日志.到目前为止,我无法理解如何设置客户端(Chainsaw客户端)和服务器端(我的webapp中的log4j配置)以成功启用远程日志记录.
这是我到目前为止所尝试的.
服务器端log4j配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true">
<appender name="myRFA" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="/logs}/my.log"/>
<param name="Append" value="false" />
<param name="MaxFileSize" value="10MB"/>
<param name="MaxBackupIndex" value="10"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{ISO8601} %p - [%X{LoggingId}] - %t - %c - %m%n"/>
</layout>
</appender>
<appender name="SOCKET" class="org.apache.log4j.net.SocketAppender">
<param name="Port" value="4445"/>
<param name="RemoteHost" value="localhost"/>
<param name="ReconnectionDelay" value="60000"/>
<param name="Threshold" value="DEBUG"/>
</appender>
<logger name="com" additivity="false">
<level value="warn"/>
<appender-ref ref="myRFA"/>
</logger>
<logger name="org" additivity="false">
<level value="warn"/> …Run Code Online (Sandbox Code Playgroud) 我正在尝试将日志记录组件添加到分布式系统.它是AspectJ为了避免链接当前的源代码而编写的.我使用socket appender发送日志,但我想尝试一些更有效的方法.
我听说过,我应该用JMSAppender和AsyncAppender,但是我忘了配置.我应该创建Receiver哪些收集日志并将它们传递给数据库和GUI(我使用ChainSaw)?
我试着关注turorial1和tutorial2,但是他们还不够清楚.

编辑:
在我准备的小型演示中,我发送了6个日志以请求(模拟3个组件)
[2012-08-08 15:40:28,957] [request1344433228957] [Component_A] [start]
[2012-08-08 15:40:32,050] [request1344433228957] [Component_B] [start]
[2012-08-08 15:40:32,113] [request1344433228957] [Component_C] [start]
[2012-08-08 15:40:32,113] [request1344433228957] [Component_C] [end - throwing]
[2012-08-08 15:40:32,144] [request1344433228957] [Component_B] [end]
[2012-08-08 15:40:32,175] [request1344433228957] [Component_A] [end]
Run Code Online (Sandbox Code Playgroud)
使用套接字Appender.所以我的log4j.properties是:
log4j.rootLogger=DEBUG, server
log4j.appender.server=org.apache.log4j.net.SocketAppender
log4j.appender.server.Port=4712
log4j.appender.server.RemoteHost=localhost
log4j.appender.server.ReconnectionDelay=1000
Run Code Online (Sandbox Code Playgroud)
所以我跑了
>java -classpath log4j-1.2.17.jar org.apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties
Run Code Online (Sandbox Code Playgroud)
配置
log4j.rootLogger=DEBUG, CA, FA
#
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=[%d] [%t] [%c] [%m]%n
#
log4j.appender.FA=org.apache.log4j.FileAppender
log4j.appender.FA.File=report.log …Run Code Online (Sandbox Code Playgroud) http://logging.apache.org/chainsaw/quicktour.html
第一个特点.
我完成了本教程,它只是展示了如何在视觉上使用GUI,它没有详细介绍这个新功能.我发现的最好的文档是这样的:
正如Appender在log4j环境之外发送日志事件(到文件,到smtp,到套接字等),Receiver将日志记录事件带到log4j环境中.
接收器旨在支持从另一个进程接收远程日志记录事件.例如,SocketAppender将日志记录事件"追加"到套接字,为特定主机和端口号配置.在套接字的接收端可以是SocketReceiver对象.SocketReceiver对象接收日志记录事件,然后将其"发布"到接收计算机上的log4j环境(LoggerRepository),由配置的appender等处理.此环境中的各种设置(Logger级别,Appender过滤器和阈值) )应用于接收的记录事件.
接收器还可用于将其他日志包中的日志消息"导入"到log4j环境中.
接收器可以配置为将事件发布到给定的LoggerRepository.
所以...
我可以使用这个新组件实现什么样的日志记录策略,我只能使用电锯+简单的log4j文件appender?