log4net 简单使用与配置(版本 log4net 1.2.9 )

 

log4net 的下载地址

http://cvs.apache.org/dist/incubator/log4net/1.2.9/incubating-log4net-1.2.9-beta.zip

 

网上有很多相关的内容,我说明的也是大同小异,只是帮我个人测试的步骤放上来,因为网上有代码虽然有多,但是也有很多是无法成功实现的。

可能是很多人没有试过,就直接转载,导致内容几次转载之后"变质"了

 

步骤:

 1.先添加应用DLL,在bin文件的net/1.1/release,有个DLL,引用下

 2.新建单独的配置文件,如文件名 log4net.config,

 文件内容如下:

  <?xml version="1.0" encoding="utf-8" ?>
<log4net debug="false">
  <logger name="PenavicoxmLogger">
    <level value="ALL" />
    <appender-ref ref="RollingLogFileAppender" />
  </logger>
  <root>
    <level value="ALL" />
  </root>
  <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
    <param name="File" value="Penavicoxm.log.txt" />
    <param name="datePattern" value="MM-dd HH:mm" />
    <param name="AppendToFile" value="true" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
    </layout>
  </appender>
  <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="log/Penavicoxm" />
    <appendToFile value="true" />
    <rollingStyle value="Date" />
    <datePattern value=".yyyyMMdd'.txt'" />
    <staticLogFileName value="false" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%d [%t] %-5p %c - %m%n" />
    </layout>
  </appender>
</log4net>

 

3.在程序开始加载的地方加载配置文件 log4net.config

  网上的方法大多是

web:
     <1>assembly info:
     [assembly: log4net.Config.XmlConfigurator(ConfigFile="log4net.config", Watch=true)]
     <2>然后拷贝log4net.config到web的目录
     <3>在gloable.asax 的application_start的事件
     log4net.Config.XmlConfigurator.Configure( new FileInfo("log4net.config") );
     <4>如果要记录什么日志
     用ApplicationLog.WriteInfo() WriteError()就可以记录
winform:
     <1>assembly info:
     [assembly: log4net.Config.XmlConfigurator(ConfigFile="log4net.config", Watch=true)] 
     <2> 在入口函数
    [STAThread]
    private static void Main()
    {
       log4net.Config.XmlConfigurator.Configure( new FileInfo("log4net.config") );
    }
    <4>然后拷贝log4net.config到bin的debug/release的目录
      或者修改目标项目的属性
         项目的属性-通用属性-预生成事件命令行
         在那里输入copy $(ProjectDir)log4net.config $(TargetDir)log4net.config

 

个人试了后,直接如下就可以了。注意:路径的问题,因为你如果在网上搜索的话,会发现很多人都是用相对路径,可能大多数情况是可行的,但是我今天试了很长时间不行,找了很久,才发现时路径的问题,现在用了绝对路径,但不是写死的。Server.MapPath()

 System.IO.FileInfo fin = new System.IO.FileInfo(Server.MapPath(".") + "/log4net.config");
  log4net.Config.XmlConfigurator.Configure(fin);

 

上面的方法成功以后,就可以写简单的代码测试了

 

测试成功的话,会在项目的log文件下有个Penavicoxm.XXXXXX.txt日志文件

 

 

转 记录异常案列:

Global.asax.cs文件配置如下:
protected void Application_Start(Object sender, EventArgs e)  
  {  
            SystemLog.SetConfig();  
  }  
  protected void Application_Error(Object sender, EventArgs e)  
  {  
   Exception objExp = HttpContext.Current.Server.GetLastError();  
   LogHelper.WriteLog("/r/n客户机IP:"+ Request.UserHostAddress +"/r/n错误地址:"+ Request.Url +"/r/n异常信息:"+ Server.GetLastError().Message,objExp);  
  } 
protected void Application_Start(Object sender, EventArgs e)
  {
            SystemLog.SetConfig();
  }
  protected void Application_Error(Object sender, EventArgs e)
  {
   Exception objExp = HttpContext.Current.Server.GetLastError();
   LogHelper.WriteLog("/r/n客户机IP:"+ Request.UserHostAddress +"/r/n错误地址:"+ Request.Url +"/r/n异常信息:"+ Server.GetLastError().Message,objExp);
  }

eg:
   try
   {}
   catch(Exception ex)
   {
       LogHelper.WriteLog("ErrorInfo"ex);
   }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值