Linux   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Log4net采用外部配置文件和多记录器的方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_674_2@

概述

1) 创建配置文件,可以放在任意位置,名字可以任意的xml文件 例如,文件名 Log.Config.xml,内容如下 <?xml version="1.0" encoding="utf-8"?>   <log4net name="DefaultLogger">     <root>       <level value="ALL"/>     </root>       <logger name=
@H_674_2@
@H_674_2@ @H_674_2@
@H_674_2@

1) 创建配置文件,可以放在任意位置,名字可以任意的xml文件

例如,文件名 Log.Config.xml,内容如下

<?xml version="1.0" encoding="utf-8"?>

  <log4net name="DefaultLogger">

    <root>

      <level value="ALL"/>

    </root>

 

    <logger name="Doraemon.Hardware">

      <appender-ref ref="HardwareLogger"/>

    </logger>

 

    <logger name="Doraemon.software">

      <appender-ref ref="UILogger"/>

    </logger>

 

    <!--硬件日志-->

    <appender name="HardwareLogger" type="log4net.Appender.RollingFileAppender">

      <param name="File" value="Log\Hardware\" />

      <param name="AppendToFile" value="true" />

 

      <param name="rollingStyle" value="Date" />

      <param name="datePattern" value="yyyy-MM-dd_‘Log.txt‘" />

      <param name="staticLogFilename" value="false"/>

      <param name="ImmediateFlush" value="true" />

      <!-- 增加这个,可以立即写日志,好像不起作用 -->

 

这个模板,可以省略日期

@H_674_2@

      <layout type="log4net.Layout.PatternLayout">

        <param name="Header" value="[开始]&#13;&#10;"/>

        <param name="Footer" value="[结尾]&#13;&#10;"/>

                   <!--

        <param name="ConversionPattern"  value="%d %-5p - %m%n" />

                   <param name="ConversionPattern"  value="%d [%t] %-5p %c [%x] - %m%n" />

                   <param name="ConversionPattern"  value="%d{HH:mm:ss,fff} [%t] %-5p %c [%x] - %m%n" />

                   -->

                  

                   <param name="ConversionPattern"  value="%d{HH:mm:ss,fff} %-5p - %m%n" />

      </layout>

      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

      <!--使用最小锁定模型(minimal locking model),以允许多个进程可以写入同一个文件。 -->

      <filter type="log4net.Filter.LevelRangeFilter">

        <param name="LevelMin" value="DEBUG" />

        <param name="LevelMax" value="FATAL" />

        <!-- WARN  ERROR-->

      </filter>

    </appender>

 

    <!--UI & Workflow日志-->

    <appender name="UILogger" type="log4net.Appender.RollingFileAppender">

       <param name="File" value="Log\Software\" />

      <param name="AppendToFile" value="true" />

 

      <param name="rollingStyle" value="Date" />

      <param name="datePattern" value="yyyy-MM-dd_‘Log.txt‘" />

      <param name="staticLogFilename" value="false"/>

      <param name="ImmediateFlush" value="true" />

      <!-- 增加这个,可以立即写日志,好像不起作用 -->

 

      <layout type="log4net.Layout.PatternLayout">

        <param name="Header" value="[开始]&#13;&#10;"/>

        <param name="Footer" value="[结尾]&#13;&#10;"/>

       

                   <param name="ConversionPattern"  value="%d{HH:mm:ss,fff} %-5p - %m%n" />

      </layout>

      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

      <!--使用最小锁定模型(minimal locking model),以允许多个进程可以写入同一个文件。 -->

      <filter type="log4net.Filter.LevelRangeFilter">

        <param name="LevelMin" value="DEBUG" />

        <param name="LevelMax" value="FATAL" />

        <!-- WARN  ERROR-->

      </filter>

    </appender>

  </log4net>

 

2)       程序入口,增加 Log4net 配置入口

        /// 应用程序的主入口点。

        /// </sumMary>

        ///

        [STAThread]

        static void Main()

        {

            Application.EnableVisualStyles();

            Application.SetCompatibleTextRenderingDefault(false);

           

            //log4net.Config.XmlConfigurator.Configure( ); //为LOG4NET增加的,这个是 配置文件放在 app.config.xml的方式

            System.IO.FileInfo fi = new System.IO.FileInfo(@"C:\Users\James\source\repos\WindowsFormsApp_log4net_多个_外部配置\bin\Debug\Log.Config.xml");

            log4net.Config.XmlConfigurator.Configure(fi);

 

            //或者

            //XmlConfigurator.Configure(new System.IO.FileInfo(@"C:\Users\James\source\repos\WindowsFormsApp_log4net_多个_外部配置\bin\Debug\Log.Config.xml"););

       Application.Run(new Form1());

配置文件

LogerName 关联

@H_674_2@

 

 

 

3)       增加静态的记录器

         private static readonly ILog log = LogManager.GetLogger(@"Doraemon.Hardware");//@"Doraemon.UI"); begins by imporTing log4net related classes.

        private static readonly ILog log2 = LogManager.GetLogger(@"Doraemon.software");//@"Doraemon.UI"); begins by imporTing log4net related classes.

 

 

4)       开始使用

 log.Error("Log1");

log2.Error("log2");

@H_674_2@
@H_674_2@
@H_674_2@@H_674_2@

大佬总结

以上是大佬教程为你收集整理的Log4net采用外部配置文件和多记录器的方法全部内容,希望文章能够帮你解决Log4net采用外部配置文件和多记录器的方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。