log4net 基礎
阿新 • • 發佈:2017-09-05
ups color readline 線程 rollback val lar 日誌文件 ons
log4net:日誌輸出工具。
新建工程Log4NetDemo
App.config配置如下:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> </configSections> <log4net> <root><!--控制級別,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF--> <!--比如定義級別為INFO,則INFO級別向下的級別,比如DEBUG日誌將不會被記錄--> <!--如果沒有定義LEVEL的值,則缺省為DEBUG--> <level value="DEBUG"/> <appender-ref ref="RollingFileAppender"/> </root> <appender name="RollingFileAppender"type="log4net.Appender.RollingFileAppender"> <!--日誌文件名開頭--> <file value="Log\Test.txt"/> <!--多線程時采用最小鎖定--> <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> <!--日期的格式,每天換一個文件記錄,如不設置則永遠只記錄一天的日誌,需設置--> <datePattern value="yyyyMMdd-HH:mm:ss"/> <!--是否追加到文件,默認為true,通常無需設置--> <appendToFile value="true"/> <!--變換的形式為日期,這種情況下每天只有一個日誌--> <!--此時MaxSizeRollBackups和maximumFileSize的節點設置沒有意義--> <!--<rollingStyle value="Date"/>--> <!--變換的形式為日誌大小--> <!--這種情況下MaxSizeRollBackups和maximumFileSize的節點設置才有意義--> <RollingStyle value="Size"/> <!--每天記錄的日誌文件個數,與maximumFileSize配合使用--> <MaxSizeRollBackups value="10"/> <!--每個日誌文件的最大大小--> <!--可用的單位:KB|MB|GB--> <!--不要使用小數,否則會一直寫入當前日誌--> <maximumFileSize value="16KB"/> <!--日誌格式--> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%t]%-5p %c - %m%n"/> </layout> </appender> </log4net> </configuration>
測試程序:
using System; using System.Reflection; using log4net; using log4net.Config; namespace Log4NetDemo { class Program { static void Main(string[] args) { XmlConfigurator.Configure(); ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); log.Debug("This is a Debug log."); log.Info("This is a Info log."); Console.ReadLine(); } } }
運行測試後會在Debug/Log目錄下生成Test.txt文件,
輸出內容:
2017-09-06 16:50:21,059 [9]INFO Log4NetDemo.Program - This is a Info log. 2017-09-07 16:51:35,908 [10]DEBUG Log4NetDemo.Program - This is a Debug log.
完。
log4net 基礎