前记:Log4Net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。在上位机**中,如果可以集成日志功能,不仅让你的系统更加完善,同时也可以提高你的**和调试效率。
一、Log4Net优势:
(1)可以提供应用程序运行时的精确**,可供**人员尽快找到应用程序中的Bug;
(2)一旦在程序中加入了Log 输出代码,程序运行过程中就能生成并输出日志信息而无需人工干预;
(3)日志信息可以输出到不同的地方(控制台,文件等),以备以后研究之用。
二、Log4Net配置
(1)添加dll引用:可以直接通过将dll文件复制到指定路径下进行添加,也可以通过Nuget进行添加。
(2)添加一个配置文件:在项目上右击添加新建项,选择应用程序配置文件,并将名称改成log4net.config;
(3)在log4net.config配置文件中,添加配置内容,具体如下,该部分内容可配置修改,大家在了解清楚后可以自行修改,初学者可以直接复制使用:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<root>
</root>
<logger name="Error">
<level value="ALL" />
<appender-ref ref="ErrorAppender" />
</logger>
<logger name="InfoLog">
<level value="ALL" />
<appender-ref ref="InfoAppender" />
</logger>
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" type="" value="Log/Error/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyyMMdd".ini"" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%n[%d] %c %n%m%n%n" />
</layout>
</appender>
<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" type="" value="Log/Info/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyyMMdd".ini"" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%n[%d] %c %n%m%n%n" />
</layout>
</appender>
</log4net>
</configuration>
(4)设置log4net.config配置文件属性:将该文件复制到输出目录属性设置成较新复制或者始终复制;
(5)AssemblyInfo.cs中添加一行配置信息,配置内容如下:
(6)添加并编写LogHelper类,便于调用:
(7)完成以上步骤,即可完成Log4Net的基本配置,后续可以直接进行调用:下面以一个强制转换出错为例:
日志信息如下: