log4net的使用

在项目Nuget包管理器中搜索:log4net,安装完成之后再项目中引用即可

log4net配置文件

<configuration>
  <configSections>
    <!--log4配置节-->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>
  <log4net>
    <!--根配置-->
    <root>
      <!--<appender-ref ref="DebugAppender"/>-->
      <!--输出到信息日志: Info.log-->
      <level value="ALL"/>
      <appender-ref ref="RollingFileAppender"/>
      <!--输出到警告日志: Warn.log-->
      <appender-ref ref="RollingFile"/>
      <!--输出到错误日志: Error.log-->
      <!--<appender-ref ref="ErrorAppender"/>-->
      <!--输出到致命错误日志: Fatal.log-->
      <!--<appender-ref ref="FatalAppender"/>-->
    </root>
    <!--Info信息输出到文件中-->
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log"/>
      <param name="StaticLogFileName" value="false"/>
      <!--日志文件名开头-->
      <!--<file value="D:TTSPayInfolog.txt"/>-->
      <!--多线程时采用最小锁定-->
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
      <!--日期的格式,每天换一个文件记录,如不设置则永远只记录一天的日志,需设置-->
      <datePattern value="yyyyMMdd'.txt'"/>
      <!--是否追加到文件,默认为true,通常无需设置-->
      <appendToFile value="true"/>
      <!--变换的形式为日期,这种情况下每天只有一个日志-->
      <!--此时MaxSizeRollBackups和maximumFileSize的节点设置没有意义-->
      <!--<rollingStyle value="Date"/>-->
      <!--变换的形式为日志大小-->
      <!--这种情况下MaxSizeRollBackups和maximumFileSize的节点设置才有意义-->
      <RollingStyle value="Date"/>
      <!--每天记录的日志文件个数,与maximumFileSize配合使用-->
      <MaxSizeRollBackups value="10"/>
      <!--每个日志文件的最大大小-->
      <!--可用的单位:KB|MB|GB-->
      <!--不要使用小数,否则会一直写入当前日志-->
      <maximumFileSize value="10MB"/>
      <!--日志格式-->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%m"/>
      </layout>
      <!--<filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="INFO" />
        <levelMax value="INFO" />
      </filter>-->
    </appender>
    <!--<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log"/>
      <param name="StaticLogFileName" value="false"/>
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
      <datePattern value="yyyyMMdd'.txt'"/>
      <appendToFile value="true"/>
      <RollingStyle value="Date"/>
      <MaxSizeRollBackups value="10"/>
      <maximumFileSize value="2MB"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%m"/>
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value="ERROR" />
        <levelMax value="FATAL" />
      </filter>
    </appender>-->
  </log4net>
</configuration>

在AssemblyInfo.cs文件中写上如下一段代码,其中log4net.config是配置文件名称

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

level定义记录的日志级别,级别由低往高依次是:
ALL
DEBUG
INFO
WARN
ERROR
FATAL

None

log4net日志输出

static void Main(string[] args)
        {
            log4net.ILog log = log4net.LogManager.GetLogger(typeof(Program));
            if (log.IsInfoEnabled)
            {
                log.Info("记录日志");
            }
        }
原文地址:https://www.cnblogs.com/z-huan/p/7411955.html