软件信息
Log2Window是一款开源的日志查询软件.
支持 log4net, nlog, eventLog, log4j 和log4cxx等日志记录组件.
项目主页为:
https://github.com/alanthinker/Log2Window
国内下载地址为:
https://file.stkme.com/chess/download/Log2Window/Log2Window.zip
该软件改编自Log2Console, 完全重写了内部逻辑. 大幅的改进了性能和稳定性, 并增加了一些新功能, 修正若干错误.
功能介绍
Log2Window在普通PC上每秒中可以处理100万条以上的记录. 比如根据日志名称, 消息内容, 日志级别等条件进行过滤等. 删除某些名称的日志等. 新日志刷新过快时, 可以暂停刷新新日志, 以便查看.(后台仍在接收日志, 恢复暂停后即会显示)
Log2Window接收新日志的性能也非常好. 每秒可以新接收10万条以上的记录而不产生任何延迟和阻塞.
Log2Window既可以接收网络上TCP, UDP协议发送的日志, 也可以实时监控日志文件的内容. (均要求日志以log4j的xml格式化保存.)
使用方法:
TCP 网络传送方式:
首次打开软件时, 软件会自动弹出Receiver配置界面.
建议添加
TCP协议的receiver.
对于
NLog, 配置一个tcp的target, 并将日志记录到此target即可.
<target name="TcpOutlet" xsi:type="NLogViewer" encoding="utf-8" address="tcp://localhost:4505"/>
对于
log4net, 需要用到一个自定义的Appender. 该Appender的源代码已经包含在Log2Window安装目录中的ExampleProject\TestLog4net project . 该自定义Appender异步发送日志, 不会因为网络问题而阻塞业务逻辑. 而且在消息无法发送时可以缓存10000条日志. 等网络恢复后再发送.(用户可以修改此Appender的代码来调整缓存数量.)
Log4net的appender配置如下:
<appender name="tcpAppender" type="AlanThinker.MyLog4net.TcpAppender">
<remoteAddress value="127.0.0.1" />
<remotePort value="4505" />
<encoding value="utf-8"></encoding>
<layout type="AlanThinker.MyLog4net.MyXmlLayoutSchemaLog4j" >
<!--Set these switch to false to impove performance.-->
<LocationInfo value="false" />
<Show_Hostname_Appdomain_Identity_UserName value="false" />
<ShowNDC value="false" />
<ShowProperties value="false" />
</layout>
</appender>
日志文件方式:
可以打开并监视形式如下格式的日志: (也可以打开logj的xml格式)
2016-11-30 15:18:15,703 [10] DEBUG Test.Program - This is a simple log!
NLog配置方式: ( !!! 注意. 不要改变layout的格式)
<target name="file" xsi:type="File" encoding="utf-8" fileName="${basedir}/log/patternFile.log" layout="${longdate} [${threadid}] ${pad:padding=-5:fixedlength=true:inner=${level:uppercase=true}} ${logger} - ${message}" />
log4net配置方式: ( !!! 注意. 不要改变layout的格式)
<appender name="fileLog4j" type="log4net.Appender.FileAppender">
<file value="log/fileLog4j.log" />
<encoding value="utf-8"></encoding>
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
或者
<appender name="rollingFileLog4j" type="log4net.Appender.RollingFileAppender,log4net" >
<File value="log/rollingFileLog4j.log" />
<Encoding value="utf-8" />
<AppendToFile value="true" />
<RollingStyle value="Composite" />
<DatePattern value=".yyyy.MM.dd."log"" />
<MaximumFileSize value="20MB" />
<maxSizeRollBackups value="10" />
<!--file number increase after the file"s size exceeds the MaximumFileSize.-->
<CountDirection value="1" />
<StaticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>