Log4Net配置
使用log4net
1. 从apache网站下载log4net, http://logging.apache.org/log4net/download_log4net.cgi
将 \bin\net\4.0\release\log4net.dll 复制到你的项目的debug文件夹中
将log4net.dll 添加引用到你的项目中。
2.在项目的AssemblyInfo.cs类中添加如下内容
[assembly: log4net.Config.XmlConfigurator()]
3.配置app.config,如果你的项目里面没有,新建一个配置文件即可,app.config的配置如下:
<?xml version="1.0"?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <!--站点日志配置部分--> <log4net> <root> <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF--> <!--比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录--> <!--如果没有定义LEVEL的值,则缺省为DEBUG--> <level value="DEBUG" /> <!--通过<appender-ref>标签定义日志对象使用的Appender对象。<appender-ref>声明了在其他地方定义的Appender对象的一个引用--> <appender-ref ref="PayFileLog" /> <appender-ref ref="ConsoleAppender" /> </root> <logger additivity="false" name="RegisterFileLog"> <level value="DEBUG"/> <appender-ref ref="RegisterFileLog" /> </logger> <!--appender 日志的输出方式。。。。。FileAppender 将日志输出到文件--> <!--将日志输出到本项目debug文件下的Pay_Log.log--> <appender name="PayFileLog" type="log4net.Appender.FileAppender" > <!-- <param name="File" value="d:/log/Pay_Log.log" /> 输出到指定文件夹--> <!--输出到本项目的debug文件夹下--> <file value="Pay_Log.log"/> <param name="AppendToFile" value="true" /> <!--日志格式--> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> </layout> <!--过滤掉一些不需要的等级。。。。LevelRangeFilter 日志等级在指定范围内的事件才被记录--> <!-- <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="INFO" /> <param name="LevelMax" value="WARN" /> </filter> --> <!--LevelMatchFilter 只有指定等级的日志事件才被记录--> <filter type="log4net.Filter.LevelMatchFilter"> <param name="LevelToMatch" value="INFO" /> </filter> <!--配置是如果日志的输出级别不符合DEBUG要求的话,则不输出任何日志--> <filter type="log4net.Filter.DenyAllFilter" /> </appender> <!--将日志输出到本项目debug文件下的Register_Log.log--> <appender name="RegisterFileLog" type="log4net.Appender.FileAppender"> <!--<file value="d:/log/Register_Log.log"/>--> <file value="Register_Log.log"/> <appendToFile value="true"/> <!--日志格式--> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> </layout> <!--LevelMatchFilter 只有指定等级的日志事件才被记录--> <filter type="log4net.Filter.LevelMatchFilter"> <param name="LevelToMatch" value="DEBUG" /> </filter> <!--配置是如果日志的输出级别不符合DEBUG要求的话,则不输出任何日志--> <filter type="log4net.Filter.DenyAllFilter" /> </appender> <!--将日志输出到控制台--> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" > <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" /> </layout> </appender> </log4net> </configuration>
4.调用
1 namespace Log4NetDome 2 { 3 class PrintLog 4 { 5 public void FATAL(log4net.ILog log, string message) 6 { 7 log.Fatal(message); 8 } 9 /// <summary> 10 /// 输出错误级别日志 11 /// </summary> 12 /// <param name="message">输出的消息</param> 13 public void Error(log4net.ILog log, string message) 14 { 15 log.Error(message); 16 } 17 18 /// <summary> 19 /// 输出警告级别日志 20 /// </summary> 21 /// <param name="message">输出的消息</param> 22 public void Warning(log4net.ILog log, string message) 23 { 24 //记录日志 25 log.Warn(message); 26 } 27 28 /// <summary> 29 /// 输出信息级别日志 30 /// </summary> 31 /// <param name="message">输出的消息</param> 32 public void Info(log4net.ILog log, string message) 33 { 34 //记录日志 35 log.Info(message); 36 } 37 38 /// <summary> 39 /// 输出调试级别日志 40 /// </summary> 41 /// <param name="message">输出的消息</param> 42 public void Debug(log4net.ILog log, string message) 43 { 44 //记录日志 45 log.Debug(message); 46 } 47 } 48 }
1 namespace Log4NetDome 2 { 3 public partial class Form1 : Form 4 { 5 public Form1() 6 { 7 InitializeComponent(); 8 } 9 10 private static log4net.ILog paylog = log4net.LogManager.GetLogger("PayFileLog"); //获取一个日志记录器 11 private static log4net.ILog reglog = log4net.LogManager.GetLogger("RegisterFileLog"); 12 PrintLog log = new PrintLog(); 13 private void button1_Click(object sender, EventArgs e) 14 { 15 log.Debug(paylog, "Debug"); 16 log.Info(paylog, " Info"); 17 MessageBox.Show("aaaaaaaa"); 18 19 log.Debug(reglog, "Debug"); 20 log.Info(reglog, " Info"); 21 } 22 }

浙公网安备 33010602011771号