C#使用log4net打日志
首先打開vs,右擊解決方案,點擊管理解決方案的Nuget包管理
然后我們點擊瀏覽,搜索log4net,進行安裝
然后我們需要新建一個名為log4net.config的配置文件,在配置文件中,加入以下代碼
<configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <log4net> <!--錯誤日志--> // <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑 --> <file value="log\\LogError\\" /> <!--是否支持分割文件--> <appendToFile value="true" /> <!--日志文件的記錄形式--> <rollingStyle value="Date" /> <!-- 日志文件的命名規(guī)則 --> <datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.txt'" /> <!-- 當將日期作為日志文件的名字時,必須將staticLogFileName的值設置為false --> <staticLogFileName value="false" /> <!--當日志文件達到MaxFileSize大小,就自動創(chuàng)建備份文件。--> <param name="MaxSizeRollBackups" value="100" /> <!--日志文件的布局格式--> <layout type="log4net.Layout.PatternLayout"> <!--每條日志末尾的文字說明--> <!--輸出格式--> <!--樣例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info--> <conversionPattern value="%newline %n記錄時間:%date %n線程ID:[%thread] %n日志級別: %-5level %n錯誤描述:%message%newline %n" /> </layout> </appender> <!--Info日志--> <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\LogInfo\\" /> <param name="AppendToFile" value="true" /> <param name="MaxFileSize" value="10240" /> <param name="MaxSizeRollBackups" value="100" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyy\\yyyyMM\\yyyyMMdd'.txt'" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%newline %n記錄時間:%date %n線程ID:[%thread] %n日志級別: %-5level %n日志描述:%message%newline %n" /> </layout> </appender> <!--監(jiān)控日志--> <appender name="MonitorAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\LogMonitor\\" /> <param name="AppendToFile" value="true" /> <param name="MaxFileSize" value="10240" /> <param name="MaxSizeRollBackups" value="100" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyy\\yyyyMM\\yyyyMMdd'.txt'" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%newline %n記錄時間:%date %n線程ID:[%thread] %n日志級別: %-5level %n跟蹤描述:%message%newline %n" /> </layout> </appender> <!--Error日志--> <logger name="LogError"> <level value="ERROR" /> <appender-ref ref="RollingLogFileAppender" /> </logger> <!--Info日志--> <logger name="LogInfo"> <level value="INFO" /> <appender-ref ref="InfoAppender" /> </logger> <!--監(jiān)控日志--> <logger name="LogMonitor"> <level value="Monitor" /> <appender-ref ref="MonitorAppender" /> </logger> </log4net>
更改配置文件的"復制到輸出目錄"這個屬性為"始終復制"
接下來我們找到AssemblyInfo.cs這個類,在這個類中加入一行代碼
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
然后在我們項目文件下新建一個名為LoggerHelper的類,代碼如下
public class LoggerHelper { private static readonly log4net.ILog LogInfo = log4net.LogManager.GetLogger("LogInfo"); private static readonly log4net.ILog LogError = log4net.LogManager.GetLogger("LogError"); private static readonly log4net.ILog LogMonitor = log4net.LogManager.GetLogger("LogMonitor"); /// <summary> /// 記錄Error日志 /// </summary> /// <param name="errorMsg"></param> /// <param name="ex"></param> public static void Error(string errorMsg, Exception ex = null) { if (ex != null) { LogError.Error(errorMsg, ex); } else { LogError.Error(errorMsg); } } /// <summary> /// 記錄Info日志 /// </summary> /// <param name="msg"></param> /// <param name="ex"></param> public static void Info(string msg, Exception ex = null) { if (ex != null) { LogInfo.Info(msg, ex); } else { LogInfo.Info(msg); } } /// <summary> /// 記錄Monitor日志 /// </summary> /// <param name="msg"></param> public static void Monitor(string msg) { LogMonitor.Info(msg); } }
接下來我們直接在需要打日志的地方調(diào)用LoggerHelper類中的方法就可以了
到此這篇關(guān)于C#使用log4net打日志的文章就介紹到這了,更多相關(guān)C# log4net日志內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
unity 如何使用文件流讀取streamingassets下的資源
這篇文章主要介紹了unity 使用文件流讀取streamingassets下的資源操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04在Framework 4.0中:找出新增的方法與新增的類(一)
經(jīng)??吹接型瑢W在討論Framework 4 的新特性,新方法,于是想寫個程序找出framework4.0中新增的方法和類2013-05-05