今天在使用C#进行一个小模块开发的时候,有个需求是需要进行日志记录,日志记录挺熟悉的,Java中常用的就是log4j进行日志记录,但是在C#中,我一点也不了解,于是通过查阅资料等,进行了在C#中进行日志记录。
C#中进行日志大多选择的是log4net进行的,下面直接说使用方法。
首先下载log4net包,步骤:工具—>NuGet包管理器—>管理解决方案的NuGet程序包
接着搜索log4net,然后选择需要安装的项目进行安装:
然后进行配置文件的编写,我这里本来编写了配置文件,于是就在原配置文件上编写,记得log4net的配置节点放最前面:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="FileAppender" />
</root>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Log\\LogInfo\\" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaxFileSize" value="10240" />
<param name="StaticLogFileName" value="false" />
<param name="DatePattern" value="yyyyMMdd".txt"" />
<param name="RollingStyle" value="Date" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p %n日志内容:%m%n%n" />
</layout>
</appender>
</log4net>
</configuration>
配置文件中,各个配置的作用,可以自行查找,然后要使用其进行日志记录的话,需要我们在AssemblyInfo.cs中引用,[assembly: log4net.Config.XmlConfigurator( Watch = true)]:
可以编写日志工具类进行日志记录,这里我就使用最简单的方式进行日志的记录,在类中添加:
public static readonly ILog loginfo = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
然后在需要进行日志记录的地方调用loninfo中的方法即可,比如:
loginfo.Info("正常日志记录");
loginfo.Error("错误日志记录",new Exception("抛出了了一个异常"));
生成的日志文件一般在bin目录的Debug中,根据自己配置文件中的位置去找。