2020-09-08

WinForm和WPF使用log4net

一、从Nuget下载lognet.dll

找到log4net之后,单击log4net,右侧会出现你的项目,勾选要安装的项目,然后点击“安装”。

 

二、打开app.config,进行如下设置

<?"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
如有需要,可自行修改。

三、WPF:在项目中找到Properties文件夹中找到AssemblyInfo.cs ,设置log4net
  Winform:在项目中找到Program.cs,在Main函数中设置log4net
WPF:
[assembly: log4net.Config.true)]



Winform:
log4net.Config.

以上是Winform程序和WPF程序使用log4net的唯一区别点。

四、建立调用对象。建log类。

 public static class LogTools {  /// <summary>  /// 用来记录error和warn  /// </summary>  public static log4net.ILog ErrorWarnLog = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); }

 

五、程序中应用案例

有个地方要注意,调用方式是LogTools.ErrorWarnLog.Error(e),不是LogTools.ErrorWarnLog.Error(e.Message),一开始我是错误的写法,记录的Error信息异常,导致我找了半天,在此提醒下大家。

  /// <summary>  /// 线程工作步骤  /// </summary> private void Working()  {   try   {    while (true)    {     //线程步骤,略    }   }   catch (Exception e)   {    LogTools.ErrorWarnLog.Error(e);   }  }

六、log信息

完~

 

WinForm和WPF使用log4netparenthoodmoss平台政策干货| 亚马逊操纵评论申诉解封详解颠覆贸易战逻辑!奥克兰港的货运量上升8.4%!如何批量下载打包1688阿里巴巴商品图片如何选择产品关键词:亚马逊站内与站外关键词搜集方法弟弟车祸弟媳欲求不满 被我强宠

No comments:

Post a Comment