• log4net快速使用流程


    以下内容大部分来自这里,对原作者流子表示感谢

    1、Nuget安装,当前版本2.0.8

    2、创建log4net.config文件,文件内容如下:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
      </configSections>
      <log4net debug="true">
        <root>
          <level value="DEBUG" />
          <appender-ref ref="RollingLogFileAppender" />
          <appender-ref ref="ConsoleAppender" />
        </root>
        <appender name="ConsoleAppender"  type="log4net.Appender.ConsoleAppender" >
          <layout type="log4net.Layout.PatternLayout">
           <conversionPattern value="[%date] %level [%thread][%c{1}:%line] - %m%n" />
          </layout>
        </appender>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" >
          <param name="File" value="game" />
          <param name="DatePattern" value="'.'yyyy-MM-dd-HH'.log'" />
          <param name="AppendToFile" value="true" />
          <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="[%date] %level [%thread][%c{1}:%line] - %m%n" />
          </layout>
        </appender>
      </log4net>
    </configuration>
    View Code

    注意:要在文件属性中将“复制到输出目录”选项设置为“如果较新则复制”

    3、在文件AssemblyInfo.cs中加上:

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

    4、代码用法:

    using log4net;
    private static readonly ILog logger = LogManager.GetLogger(typeof(GameClient));  
    Thread.CurrentThread.Name = "main";//为了将主线程名与其他线程区别开
    //初始化log4net
    log4net.Config.XmlConfigurator.Configure();
    logger.Debug("初始化连接开始");
    logger.InfoFormat("测试日志 name={0}","client");

    5、输出结果:

    [2017-08-11 20:18:19,350] DEBUG [main][GameClient:24] - 初始化连接开始
    [2017-08-11 20:18:19,363] DEBUG [main][GameClient:28] - 初始化连接完毕
    [2017-08-11 20:18:19,364] INFO [main][SuperSocketDemo:35] - 测试日志 name=client

     UPDAT:

    不知道为什么代码不能编辑了,只能暂时放在下面。

    如果需要通过DebugView这类的工具查看Trace信息,配置内容如下:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
      </configSections>
      <log4net debug="true">
        <root>
          <level value="DEBUG" />
          <appender-ref ref="RollingLogFileAppender" />
          <appender-ref ref="ConsoleAppender" />
          <appender-ref ref="TraceAppender" />
        </root>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" >
          <param name="File" value="LoadOrderInterface.log" />
          <param name="DatePattern" value="'.'yyyy-MM-dd-HH'.log'" />
          <param name="AppendToFile" value="true" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="[%date] %level [%thread][%c{1}:%line] - %m%n" />
          </layout>
        </appender>
        <appender name="ConsoleAppender"  type="log4net.Appender.ConsoleAppender" >
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="[%date] %level [%thread][%c{1}:%line] - %m%n" />
          </layout>
        </appender>
        <appender name="TraceAppender" type="log4net.Appender.TraceAppender">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date %level [%thread] %logger [%property{NDC}] - %message%newline" />
          </layout>
        </appender>
      </log4net>
    </configuration>
    View Code

    Level定义记录的日志级别,表示要记录哪个级别以上的日志,级别由低往高依次是:
    ALL
    DEBUG
    INFO
    WARN
    ERROR
    FATAL
    None

  • 相关阅读:
    webpack 配置别名,解决 import 时路径查找麻烦的问题
    Vue 中 diff 算法后更新 DOM 的方法
    React Native 开发环境搭建
    JavaScript 堆排序详解
    JavaScript 快速排序详解
    websocket 心跳重连
    AJAX 请求后使用 JS 打开新标签页被阻止的解决方法
    auto.js环境搭建
    Mac os 创建pppoe拨号
    mac os IntelliJ IDEA搭建环境
  • 原文地址:https://www.cnblogs.com/s5689412/p/10123907.html
Copyright © 2020-2023  润新知