• 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("记录日志");
                }
            }
  • 相关阅读:
    程序员之道——编程也是一门艺术
    Spring动态获取IoC容器中管理的Bean
    SVN使用教程之——分支、合并
    WebSphere从Windows迁移至Linux出现org.dom4j.DocumentException异常:Nested exception: prolog 中不允许有内容
    Spring动态获取IoC容器中管理的Bean
    com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据
    IMP导入数据 出现ORA01691问题 解决办法
    jquery对象与Dom对象的相互转化
    json<>js
    photoshop快捷键
  • 原文地址:https://www.cnblogs.com/z-huan/p/7411955.html
Copyright © 2020-2023  润新知