在项目中整合log4net日志模块

实现结果:在本地生成日志文件,在文件中记录日志

环境:vs2013

首先,在项目中添加log4net程序包,两种方法:1,程序包管理控制台,代码添加 Install-Package log4net。2,右击项目,管理nuget程序包,搜索log4net,添加。

在app.config或者web.config中添加log4net配置,在configSections里面添加section节点:

    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>

在configuration添加配置,如下所示:

  <log4net>
    <root>
      <appender-ref ref="LogFileAppender" />
    </root>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="D:/Log4netfile.txt" /><!--存放的路径-->
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <LockingModel type="log4net.Appender.FileAppender+MinimalLock, log4net"/>
      <datePattern value="yyyyMMdd-HH:mm:ss" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] %X{auth} - Line:%L %m%n" />
      </layout>
    </appender>
  </log4net>

在程序里面使用时可以如下所示:

ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
            log.Error("error", new Exception("发生异常"));
            log.Fatal("fatal", new Exception("致命错误"));
            log.Info("info");
            log.Debug("debug");
            log.Warn("warn");

只是简单的实现,复杂的业务以后会学习。

作为小白的第一篇博文,代码也是搬得别人的,忘了地址,若是看着眼熟,请大人大量轻点拍砖。

最近研究ABP看累了,就想把几个模块分开学习,以后会整理最近学到的EntityFramework,MVC,Nancy。还要看AOP,IOC框架的整合(应该是Spring了)。

吾生也有涯,而知也无涯,以有涯随无涯,乐矣~

---------------------------------20160718----------------------------------------------------------

今天在应用时出现问题,搞了好久发现是忘了一个重要步骤

在代码前需要加这样的语句(应该是初始化吧)

using System.Timers;
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace ElandRetailDataService
{

现在可以了~

原文地址:https://www.cnblogs.com/AceZhai/p/5556077.html