C# log4net 配置以及使用方法(winform)
阿新 • • 發佈:2021-01-28
私人部落格地址:https://www.01zhp.com/154.html
一、下載並引用log4net.dll
在NuGet裡面搜尋 log4net 直接安裝即可
二、編寫通用類(名稱空間自行替換)
using log4net; using System.Diagnostics; using System.Reflection; namespace InformationApp { public class LogHelper { private static readonly ILog logInfo = LogManager.GetLogger("Log"); private static readonly ILog logErr = LogManager.GetLogger("Err"); /// <summary> /// 記錄正常的訊息 /// </summary> /// <param name="msg">訊息內容</param> public static void info(string msg) { logInfo.Info(msg); } /// <summary> /// 記錄異常資訊 /// </summary> /// <param name="msg">異常資訊內容</param> public static void error(string msg) { StackTrace stackTrace = new StackTrace(); StackFrame stackFrame = stackTrace.GetFrame(1); MethodBase methodBase = stackFrame.GetMethod(); logErr.Error("類名:" + methodBase.ReflectedType.Name + " 方法名:" + methodBase.Name + " 資訊:" + msg); } } }
三、編寫配置檔案(winform App.config)
<configuration>節點下面新增
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net> <logger name="Log"> <level value="INFO" /> <appender-ref ref="RollingLog" /> </logger> <logger name="Err"> <level value="ERROR" /> <appender-ref ref="RollingErr" /> </logger> <appender name="RollingLog" type="log4net.Appender.RollingFileAppender"> <file value="InformationAppLog" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <datePattern value="yyyyMMdd'.txt'" /> <!--設定無限備份=-1 ,最大備份數為1000--> <param name="MaxSizeRollBackups" value="200"/> <!--每個檔案的大小--> <param name="MaximumFileSize" value="2048KB"/> <staticLogFileName value="false" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="記錄時間:%d 執行緒ID:[%thread]- 操作資訊:%m%n" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="INFO" /> <param name="LevelMax" value="INFO" /> </filter> </appender> <appender name="RollingErr" type="log4net.Appender.RollingFileAppender"> <file value="InformationAppErr" /> <appendToFile value="true" /> <rollingStyle value="Date" /> <datePattern value="yyyyMMdd'.txt'" /> <!--設定無限備份=-1 ,最大備份數為1000--> <param name="MaxSizeRollBackups" value="200"/> <!--每個檔案的大小--> <param name="MaximumFileSize" value="2048KB"/> <staticLogFileName value="false" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="記錄時間:%d 執行緒ID:[%thread]- 錯誤描述:%m%n" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="ERROR" /> <param name="LevelMax" value="ERROR" /> </filter> </appender> </log4net>
四、配置
AssemblyInfo檔案下面
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
五、呼叫
LogHelper.info("登入成功!");
LogHelper.error("http獲取資料發生錯誤:" + ex.Message);