1、从Nuget下载lognet.dllapp
找到log4net以后,单击log4net,右侧会出现你的项目,勾选要安装的项目,而后点击“安装”。函数
2、打开app.config,进行以下设置spa
<?xml version="1.0" encoding="utf-8"?> <configuration> <!--<startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7"/> </startup>--> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <log4net> <!--定义输出到文件中--> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <!--定义文件存放位置--> <file value="Log\\Error\\"/> <appendToFile value="true"/> <rollingStyle value="Date"/> <datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.txt'"/> <staticLogFileName value="false"/> <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出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/> </layout> </appender> <root> <level value="ERROR"/> <!--文件形式记录日志--> <appender-ref ref="RollingLogFileAppender"/> </root> </log4net> </configuration>
以上设置中线程
<file value="Log\\Error\\"/>
<datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.txt'"/>
表明生成路径及格式为:Log\\Error\\yyyy\\yyyyMM\\yyyyMMdd.txt
若有须要,可自行修改。
3、WPF:在项目中找到Properties文件夹中找到AssemblyInfo.cs ,设置log4net
Winform:在项目中找到Program.cs,在Main函数中设置log4net
WPF:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]

Winform:
log4net.Config.XmlConfigurator.Configure();
以上是Winform程序和WPF程序使用log4net的惟一区别点。
4、创建调用对象。建log类。日志
public static class LogTools { /// <summary> /// 用来记录error和warn /// </summary> public static log4net.ILog ErrorWarnLog = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); }
5、程序中应用案例code
有个地方要注意,调用方式是LogTools.ErrorWarnLog.Error(e),不是LogTools.ErrorWarnLog.Error(e.Message),一开始我是错误的写法,记录的Error信息异常,致使我找了半天,在此提醒下你们。orm
/// <summary> /// 线程工做步骤 /// </summary> private void Working() { try { while (true) { //线程步骤,略 } } catch (Exception e) { LogTools.ErrorWarnLog.Error(e); } }
6、log信息xml
完~对象