C# 添加日志 log4net

1、首先在项目中添加Nuget程序包...

2、然后在NuGet窗体中搜索Log4Net,然后点击安装<安装过程可能会持续几分钟,请耐心等待>

3、在项目中添加一个Config文件,如已有App.config,则直接在其中添加内容:

截图中配置的XML代码如下:

  <log4net>
    <logger name="logerror">
      <level value="ERROR" />
      <appender-ref ref="ErrorAppender" />
    </logger>
    <logger name="loginfo">
      <level value="INFO" />
      <appender-ref ref="InfoAppender" />
    </logger>
    <!--这个注释,默认路径改在debug根目录下-->
    <!--<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\LogError\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="MaxFileSize" value="10240" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n异常时间:%d %n异常级别:%-5p%n异常内容:%m%n" />
      </layout>
      --><!--&lt; &gt; = <> %n = 回车--><!--
    </appender>-->
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <!--<param name="File" value="Log\LogInfo\" />--><!--这个是在根目录下-->
      <param name="AppendToFile" value="true" />
      <param name="MaxFileSize" value="10240" />
      <param name="MaxSizeRollBackups" value="100" /> 
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p  %n日志内容:%m%n%n" />
      </layout>
    </appender>
  </log4net>
最后在项目的 AssemblyInfo.cs 文件中注册Config文件,如下:

//为项目注册Log4Net.config配置文件
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]
View Code

在Program里加上这句话
public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");

然后测试一下

运行结果

原文地址:https://www.cnblogs.com/aijiao/p/10457606.html