步骤一:引用log4net配置文件
log4net.config配置如下:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <!--type属性的完整格式为:配置节处理器类名,程序集名称,Version=程序集版本号,Culture=区域信息,PublicKeyToken=公钥--> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="log.txt" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="10" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMddHH".log"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="conversionPattern" value="%d [%t] 日志级别:%-5p 出错类: %l - 描述:%message%newline" /> <param name="ConversionPattern" value="%d [%t] %-5p %l %m %n" /> </layout> </appender> <root> <level value="All" /> <appender-ref ref="LogFileAppender" /> </root> </log4net> </configuration>
步骤二:修改AssemblyInfo.cs文件,添加log4net.config文件配置
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
步骤三:程序调用:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; // using log4net; namespace Log4NetDemo { /// <summary> /// 说明:本程序演示如何利用log4net记录程序日志信息。log4net是一个功能著名的开源日志记录组件。 /// 利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库中(包括MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite)。 /// 下面的例子展示了如何利用log4net记录日志 /// </summary> class Program { static void Main(string[] args) { //创建日志记录组件实例 ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); //System.Reflection.MethodBase.GetCurrentMethod().DeclaringType //是利用反射获取当前类的type,记录在日志中,便于定位日志发生的所在 try { throw new Exception("抛出异常"); } catch { log.Error("这是一个错误日志"); log.Fatal("这是一个致命的错误日志"); log.Warn("这是一条警告日志"); log.Info("这是一条普通信息"); } Console.WriteLine("日志记录完毕。"); Console.Read(); } } }
代码完毕
执行完成后,会在Bin目录下看到生成的log文件,具体名称可以在log4net.config文件中配置,具体配置方法请参考官方说明文档。
源代码下载地址:Log4NetDemo.rar
VS2010编译通过