zoukankan      html  css  js  c++  java
  • log4net

    1.引用log4net.dll文件

    2.添加配置文件

     1 <?xml version="1.0"?>
     2 <configuration>
     3   <configSections>
     4     <!--log4net配置安装-->
     5     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
     6   </configSections>
     7   <log4net>
     8     <!--记录器root可以被其他继承-->
     9     <root>
    10       <level value="ALL" />
    11       <appender-ref ref="ConsoleAppender" />
    12       <appender-ref ref="FileAppender" />
    13     </root>
    14     <!--记录器OtherClass这个类才有的日志级别-->
    15     <logger name="log4netSample.OtherClass">
    16       <level value="DEBUG"/>
    17       <appender-ref ref="ConsoleAppender"/>
    18       <appender-ref ref="FileAppender" />
    19     </logger>
    20     <!--输出到控制台-->
    21     <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender,log4net">
    22       <layout type="log4net.Layout.PatternLayout,log4net">
    23         <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
    24       </layout>
    25     </appender>
    26 
    27     <!--<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
    28       <layout type="log4net.Layout.PatternLayout">
    29         <conversionPattern value="%date{ABSOLUTE} 
    30     [%thread] %level %logger - %message%newline"/>
    31       </layout>
    32       <filter type="log4net.Filter.StringMatchFilter">
    33         <stringToMatch value="test" />
    34       </filter>
    35       <filter type="log4net.Filter.DenyAllFilter" />
    36     </appender>-->
    37 
    38     <!--保存到文件-->
    39     <appender name="FileAppender" type="log4net.Appender.FileAppender">
    40       <file value="mylogfile.txt" />
    41       <appendToFile value="true" />
    42       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    43       <layout type="log4net.Layout.PatternLayout">
    44         <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
    45       </layout>
    46       <filter type="log4net.Filter.LevelRangeFilter">
    47         <levelMin value="INFO" />
    48         <levelMax value="FATAL" />
    49       </filter>
    50     </appender>
    51   </log4net>
    52   <startup>
    53     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    54   </startup>
    55 </configuration>

     注意,如果配置文件里面还有其他内容,比如数据库连接串之类的,都要放在log4net之后,否则会出错

    3.读取配置信息

    也可以在每次调用的地方

    1  log4net.Config.XmlConfigurator.Configure();

    4.调用

     1 namespace log4netSample
     2 {
     3    public class OtherClass
     4     {
     5        public static void Log4NetSayHello() {
     6            log4net.Config.XmlConfigurator.Configure();
     7            log4net.ILog logger = log4net.LogManager.GetLogger(typeof(OtherClass));
     8            logger.Error("这也是一个日志消息");
     9        }
    10     }
    11 }
     1 namespace log4netSample
     2 {
     3     class Program
     4     {
     5         static void Main(string[] args)
     6         {
     7             log4net.ILog logger = log4net.LogManager.GetLogger(typeof(Program));
     8             logger.Debug("这是一个日志消息");
     9 
    10             OtherClass.Log4NetSayHello();
    11             Console.ReadKey();
    12         }
    13     }
    14 }

  • 相关阅读:
    汉诺塔学习笔记,有不正确的地方请小伙伴们指正~·~
    梯有N阶,上楼可以一步上一阶,也可以一步上二阶。编写一个程序,计算共有多少中不同的走法?
    HTTP Status 500
    java基础知识
    JAVA多线程和并发基础面试问答
    thymeleaf中的th:remove用法
    thymeleaf:局部变量 th:with
    springboot: thymeleaf 使用详解
    eclipse修改工作目录颜色
    The user specified as a definer ('root'@'%') does not exist
  • 原文地址:https://www.cnblogs.com/Mryjp/p/log4net.html
Copyright © 2011-2022 走看看