log4net 日誌打印不全

程序用的是log4net打印日誌,偶現日誌打印不全的問題,程序的log4net配置以下:java

 1 <log4net>
 2     <root>
 3       <level value="ALL"/>
 4       <appender-ref ref="RollingLogFileAppender"/>
 5       <appender-ref ref="ConsoleAppender"/>
 6     </root>
 7     <!--日誌記錄器logger,能夠有多個-->
 8     <logger name="fileLog">
 9       <level value="ALL"/>
10       <appender-ref ref="ConsoleAppender"/>
11       <appender-ref ref="RollingLogFileAppender"/>
12     </logger>
13     <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
14       <layout type="log4net.Layout.PatternLayout">
15         <param name="ConversionPattern" value="%d [%t] %-5p %c [%x]- %m%n"/>
16       </layout>
17     </appender>
18     <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
19       <param name="File" value="logs/PekingVMS"/>
20       <param name="AppendToFile" value="true"/>
21       <!-- 切割最多文件數 -1表示不限制產生日誌文件數-->
22       <param name="MaxSizeRollBackups" value="-1"/>
23       <param name="Encoding" value="utf-8" />
24       <!-- 每一個文件的大小限制  -->
25       <param name="MaximumFileSize" value="100MB"/>
26       <param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock"/>
27       <param name="StaticLogFileName" value="false"/>
28       <param name="DatePattern" value="yyyyMMdd&quot;.log&quot;"/>
29       <param name="RollingStyle" value="Composite"/>
30       <layout type="log4net.Layout.PatternLayout">
31         <param name="ConversionPattern" value="%d [%t] %-5p %c [%x]- %m%n"/>
32       </layout>
33     </appender>
34   </log4net>

PatternLayout 相關配置信息以下所示:多線程

  -X號: X信息輸出時左對齊;
 %p: 輸出日誌信息優先級,即DEBUG,INFO,WARN,ERROR,FATAL,
 %d: 輸出日誌時間點的日期或時間,默認格式爲ISO8601,也能夠在其後指定格式,好比:%d{yyy MMM dd HH:mm:ss,SSS},輸出相似:2002年10月18日 22:10:28,921
 %r: 輸出自應用啓動到輸出該log信息耗費的毫秒數
 %c: 輸出日誌信息所屬的類目,一般就是所在類的全名
 %t: 輸出產生該日誌事件的線程名
 %l: 輸出日誌事件的發生位置,至關於%C.%M(%F:%L)的組合,包括類目名、發生的線程,以及在代碼中的行數。舉例:Testlog4.main (TestLog4.java:10)
 %x: 輸出和當前線程相關聯的NDC(嵌套診斷環境),尤爲用到像java servlets這樣的多客戶多線程的應用中。
 %%: 輸出一個"%"字符
 %F: 輸出日誌消息產生時所在的文件名稱
 %L: 輸出代碼中的行號
 %m: 輸出代碼中指定的消息,產生的日誌具體信息
 %n: 輸出一個回車換行符,Windows平臺爲"/r/n",Unix平臺爲"/n"輸出日誌信息換行
 
日誌只打印了時間,現場id,優先級,類名,後面就沒有了,猜想多是%x獲取不到,致使後面的日誌內容沒有打印,因此改成:
1 <layout type="log4net.Layout.PatternLayout">
2         <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
3       </layout>

後來試了一下,發後面的日誌打印成功。app

相關文章
相關標籤/搜索