開源日誌查看軟件Log2Window介紹

軟件信息

Log2Window是一款開源的日誌查詢軟件.
支持 log4net, nlog, eventLog, log4j 和log4cxx等日誌記錄組件.
項目主頁爲: https://github.com/alanthinker/Log2Window
國內下載地址爲: http://chess.stk.me/chess/download/Log2Window/Log2Window.zip

該軟件改編自Log2Console, 徹底重寫了內部邏輯. 大幅的改進了性能和穩定性, 並增長了一些新功能, 修正若干錯誤.git

功能介紹       

Log2Window在普通PC上每秒中能夠處理100萬條以上的記錄. 好比根據日誌名稱, 消息內容, 日誌級別等條件進行過濾等. 刪除某些名稱的日誌等. 新日誌刷新過快時, 能夠暫停刷新新日誌, 以便查看.(後臺仍在接收日誌, 恢復暫停後即會顯示)
Log2Window接收新日誌的性能也很是好. 每秒能夠新接收10萬條以上的記錄而不產生任何延遲和阻塞.

Log2Window既能夠接收網絡上TCP, UDP協議發送的日誌, 也能夠實時監控日誌文件的內容. (均要求日誌以log4j的xml格式化保存.) github

使用方法:

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的代碼來調整緩存數量.)app

Log4net的appender配置以下:dom

<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>

 

 
相關文章
相關標籤/搜索