• C# log4net 配置


    log4net.config配置文件:

    <?xml version="1.0" encoding="utf-8"?>
    <log4net>
      <!-- 日志文件配置-->
      <root>
        <level value="ALL"/>
        <!--按文件存储日志-->
        <appender-ref ref="DebugAppender"/>
        <appender-ref ref="InfoAppender"/>
        <appender-ref ref="ErrorAppender" />
      </root>
      <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
        <param name="File" value=".\Logs\Error\" />
        <!--日志记录的存在路-->
        <param name="AppendToFile" value="true" />
        <!--为true就表示日志会附加到文件,为false,则会重新创建一个新文件-->
        <param name="MaxSizeRollBackups" value="100" />
        <!--创建最大文件数-->
        <param name="maximumFileSize" value="10MB" />
        <!--文件大小-->
        <param name="StaticLogFileName" value="false" />
        <!--是否指定文件名-->
        <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;"/>
        <!--文件格式-->
        <param name="RollingStyle" value="Composite" />
        <!--创建新文件的方式,可选为Size(按文件大小),Date(按日期),Once(每启动一次创建一个文件),Composite(按日期及文件大小),默认为Composite-->
        <layout type="log4net.Layout.PatternLayout">
          <!--输出内容布局-->
          <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          <!--method会影响性能-->
        </layout>
        <filter type="log4net.Filter.LevelRangeFilter">
          <param name="LevelMin" value="ERROR" />
          <param name="LevelMax" value="ERROR" />
        </filter>
      </appender>
      <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
        <param name="File" value=".\Logs\Info\" />
        <param name="AppendToFile" value="true" />
        <param name="MaxSizeRollBackups" value="100" />
        <param name="maximumFileSize" value="10MB" />
        <param name="StaticLogFileName" value="false" />
        <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />
        <param name="RollingStyle" value="Composite" />
        <layout type="log4net.Layout.PatternLayout">
          <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
        </layout>
        <filter type="log4net.Filter.LevelRangeFilter">
          <param name="LevelMin" value="INFO" />
          <param name="LevelMax" value="INFO" />
        </filter>
      </appender>
      <appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">
        <param name="File" value=".\Logs\Debug\" />
        <param name="AppendToFile" value="true" />
        <param name="MaxSizeRollBackups" value="100" />
        <param name="maximumFileSize" value="10MB" />
        <param name="StaticLogFileName" value="false" />
        <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />
        <param name="RollingStyle" value="Composite" />
        <layout type="log4net.Layout.PatternLayout">
          <param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
        </layout>
        <filter type="log4net.Filter.LevelRangeFilter">
          <param name="LevelMin" value="DEBUG" />
          <param name="LevelMax" value="DEBUG" />
        </filter>
      </appender>
    </log4net>
    View Code

    在代码中加载配置文件:

        public partial class Form1 : Form
        {
            private log4net.ILog _log2 = null;
    
            public Form1()
            {
                InitializeComponent();
    
                //加载log4net配置文件
                UriBuilder uri = new UriBuilder(Assembly.GetExecutingAssembly().CodeBase);
                string path = Path.GetDirectoryName(Uri.UnescapeDataString(uri.Path));
                FileInfo configFile = new FileInfo(Path.Combine(path, "log4net.config"));
                log4net.Config.XmlConfigurator.Configure(configFile);
    
                _log2 = log4net.LogManager.GetLogger(typeof(Form1));
            }
    View Code
  • 相关阅读:
    在 Windows 10 中创建任何大小的虚拟测试文件的 2 种方法
    最近的github又不稳了。。ip host 大法来
    windows mklink /d /h /j 精讲
    kafka-manager配置和使用
    Java——七种垃圾收集器+JDK11最新ZGC
    聚簇索引和非聚簇索引(通俗易懂 言简意赅)
    【转载】Java中的锁机制 synchronized & 偏向锁 & 轻量级锁 & 重量级锁 & 各自优缺点及场景 & AtomicReference
    都1202年了奉劝那些还在用centos6的gs,赶紧切ubuntu-Centos6 升级 gcc 惨痛教训
    Tamper Chrome – 请求修改扩展,可用于Web安全测试
    线程、线程池三大方法、七大参数、四种策略
  • 原文地址:https://www.cnblogs.com/s0611163/p/15369459.html
Copyright © 2020-2023  润新知