关于Log4Net的使用和配置

时间:2020-12-05 13:06:26

1. 添加log4net.dll引用

2.在添加引用的那层的 AssemblyInfo.cs         注册   

[assembly: log4net.Config.XmlConfigurator(ConfigFile = @"log4net.config", Watch = true)] 

 

3.添加log4net.config 文件到Ui层

配置如下

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <!--<root>
      <appender-ref ref="LogFileAppender" />
    </root>-->
    <logger name="SysLogger">
      <!--control log level: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
      <!--如果没有定义LEVEL的值,则缺省为DEBUG-->
      <level value="ALL" />
      <appender-ref ref="RollingLogFileAppender"></appender-ref>
    </logger>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="abc\abc.log" /><!--file可以指定具体的路径 eg : d:\\test.log。不指定的话log被生成在项目的bin/Debug 或者 bin/Release目录下 (web的项目 默认生成在根目录下)-->
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="3" /><!--备份log文件的个数最多10个-->
      <maximumFileSize value="2KB" /><!--每个log文件最大是2M,如果超过2M将重新创建一个新的log文件,并将原来的log文件备份。-->
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <!--指定log的格式-->
          <conversionPattern value="[%date]  %thread -- %-5level -- %logger [%M] -- %message%newline" />
        
      </layout>
      
    </appender>

  </log4net>
</configuration>

4.创建 实例

        public static  void WritingLog(string logContent)
        {
            ILog log = log4net.LogManager.GetLogger("SysLogger"); // 注意这里的参数一定要和配置文件中logger的Name相同
            log.Error(logContent);
        }