.net如何使用Log4Net来创建日志

在项目开发中,遇到页面在开发机上调试没有问题,但是发布到服务器上以后,网页报错,发布后却又无法调试,于是就在网上查资料,了解到Log4Net可以完成这项工作,就下载了Log4Net.dll,可以到官网上下载,是开源的,我下载的是2.0.8.下载后就按网上步骤一步步操作,可是操作完毕后,发现无法创建日志文件。经过2天的研究。发现主要原因是配置和服务器发布文件夹权限有问题。归纳了一下,希望能帮到大家。

主要步聚:
一、从官方下载;Log4Net.dll文件,我下载的是2.0.8版本
二、将dll文件拷贝到项目文件夹中并在项目中引用
三、修改web.config文件:在<configuration></configuration>节中添加:

   <log4net>
    <root>
      <level value="WARN" />
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="ConsoleAppender" />
    </root>
    <logger name="testApp.Logging"><!--注意此名称很重要,页面上在创建日志对象时必须用这个名称,否则是不能写日志的-->
      <level value="All"/>
    </logger>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
      <param name="File" value="Log/log-file.txt" /><!--此处设置相对路径,这样设置意思就是父路径就是根目录-->
      <param name="AppendToFile" value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="Header" value="[Header] "/>
        <param name="Footer" value="[Footer] "/>
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x]  - %m%n" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="DEBUG" />
        <param name="LevelMax" value="WARN" />
      </filter>
    </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>

这其中的关键是:<param name="File" value="Log/log-file.txt" />,一定要用相对路径来设置value,这里我把Log文件夹放置到了根目录下,所以这样设置,大家可以根据自己情况进行设置。
四、在Global.asax.cs文件中增加代码:

void Application_Start(object sender, EventArgs e)
    {
       // 在应用程序启动时运行的代码
       log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~")+@"Log/log-file.txt"));
    }

五、在AssemblyInfo.cs中头部相应位置加入代码:

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

六、在页面cs文件中引用命名空间

using log4net;

在方法中即可调用:
l

log4net.ILog log = log4net.LogManager.GetLogger("testApp.Logging");<!--注意此名称很重要,在Log4Net的配置节中 <logger name="testApp.Logging">来注明,页面上在创建日志对象时必须用这个名称,否则是不能写日志的-->
log.Info("文件路径:" + Wjlj + ": Page_Load事件");
log.Info("索引值:" + Syz + ": Page_Load事件");
log.Info("表名:" + Bm + ": Page_Load事件");
log.Info("相关信息:" + Glkh_qyry_hphm + ": Page_Load事件");

七、在服务器发布文件夹中设置Log文件夹的权限:
Log文件夹----属性----安全----编辑----添加用户----IISUSERS,设置修改权限,确定即可。
到此为止,使用Log4Net.dll创建网站日志文件成功!这是我花了两天的时间研究出来的,当然也非常感谢网友们的帮助,希望见到帖子的网友,经常写自己的博客,一方面自己积累经经验,另一方面也为后来人提供方便,不要只知道索取而不知道奉献!为发展我们国家的软件开发能力做出自己微薄的贡献!谢谢您的观看!
秋风2019.12.06写于淄博 业务联系与交流合作:QQ:375172665

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值