log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。
使用方法简单介绍:
第一步:以web项目为例,首先下载log4net.dll文件,放到项目目录中,然后添加引用:
第二步:新建或复制Log4Net.config文件到项目目录,这是日志的配置文件,很重要
Log4Net.config文件内容如下:
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net debug="true"> <logger name="logerror"> <level value="ALL" /> <appender-ref ref="LogAppender" /> </logger> <logger name="loginfo"> <level value="ALL" /> <appender-ref ref="LogAppender" /> </logger> <appender name="LogAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\" /> <!-- File 输出到什么目录--> <param name="AppendToFile" value="true" /> <!-- AppendToFile 是否覆写到文件中--> <param name="MaxSizeRollBackups" value="30" /> <!-- MaxSizeRollBackups 备份文件的个数--> <param name="MaxFileSize" value="10240" /> <!-- MaxFileSize 单个日志文件最大的大小--> <param name="StaticLogFileName" value="false" /> <!-- StaticLogFileName 是否使用静态文件名--> <param name="DatePattern" value="yyyyMMdd".log"" /> <!-- DatePattern 日志文件名--> <param name="RollingStyle" value="Date" /> <!--布局--> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="===================================================================================%n【记录时间】%d 日志级别:%-5p 日志类:%c [%x]%n【描述信息】%m %n"/> </layout> </appender> </log4net> </configuration>
第三步:新建公用LogHelper.cs,用来调用log4net
LogHelper.cs内容如下:
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; namespace Log4Trac { public class LogTrac { public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo"); public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror"); public static void WriteLog(string message) { if (loginfo.IsInfoEnabled) { loginfo.Info(message); } } public static void WriteLog(string info, Exception ex) { if (logerror.IsErrorEnabled) { logerror.Error(info, ex); } } } }
第四步:在AssemblyInfo.cs文件中添加代码:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
这行代码很关键。如图:
第五步:写日志,在你需要写日志的cs文件中,先using Log4Trac,然后:
常规日志:
LogTrac.WriteLog("这是测试日志! 常规日志!" );
错误日志:
try { …… } catch (Exception e) { string msg = "执行出错!" + e.Message; LogTrac.WriteLog(msg, e); }