程序用的是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".log""/> 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