• log4net 基础


    log4net:日志输出工具。

    新建工程Log4NetDemo

    App.config配置如下:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
      </configSections>
      <log4net>
        <root>
          <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
          <!--比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录-->
          <!--如果没有定义LEVEL的值,则缺省为DEBUG-->
          <level value="DEBUG"/>
          <appender-ref ref="RollingFileAppender"/>
        </root>
        <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
          <!--日志文件名开头-->
          <file value="LogTest.txt"/>
          <!--多线程时采用最小锁定-->
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
          <!--日期的格式,每天换一个文件记录,如不设置则永远只记录一天的日志,需设置-->
          <datePattern value="yyyyMMdd-HH:mm:ss"/>
          <!--是否追加到文件,默认为true,通常无需设置-->
          <appendToFile value="true"/>
          <!--变换的形式为日期,这种情况下每天只有一个日志-->
          <!--此时MaxSizeRollBackups和maximumFileSize的节点设置没有意义-->
          <!--<rollingStyle value="Date"/>-->
          <!--变换的形式为日志大小-->
          <!--这种情况下MaxSizeRollBackups和maximumFileSize的节点设置才有意义-->
          <RollingStyle value="Size"/>
          <!--每天记录的日志文件个数,与maximumFileSize配合使用-->
          <MaxSizeRollBackups value="10"/>
          <!--每个日志文件的最大大小-->
          <!--可用的单位:KB|MB|GB-->
          <!--不要使用小数,否则会一直写入当前日志-->
          <maximumFileSize value="16KB"/>
          <!--日志格式-->
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%t]%-5p %c - %m%n"/>
          </layout>
        </appender>
      </log4net>
    </configuration>

    测试程序:

    using System;
    using System.Reflection;
    using log4net;
    using log4net.Config;
    
    namespace Log4NetDemo
    {
        class Program
        {
            static void Main(string[] args)
            {
                XmlConfigurator.Configure();
                ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
                log.Debug("This is a Debug log.");
                log.Info("This is a Info log.");
                Console.ReadLine();
            }
        }
    }

    运行测试后会在Debug/Log目录下生成Test.txt文件,

    输出内容:

    2017-09-06 16:50:21,059 [9]INFO  Log4NetDemo.Program - This is a Info log.
    2017-09-07 16:51:35,908 [10]DEBUG Log4NetDemo.Program - This is a Debug log.

    完。

  • 相关阅读:
    fastjson把对象转化成json string时避免$ref
    Java 生成UUID
    eclipse创建springboot项目,maven打包时没有将配置文件加入打包文件中处理
    pycharm IDE使用心得
    (16)-Python3之--集合(set)操作
    2021每天一个知识点(一月)
    解决Nginx出现403 forbidden (13: Permission denied)报错的四种方法
    Jmeter函数助手大全
    JMeter去掉启动的cmd命令窗口和制作快捷方式
    Python+Selenium+Unittest实现PO模式web自动化框架(8)
  • 原文地址:https://www.cnblogs.com/mengdongsky/p/7479611.html
Copyright © 2020-2023  润新知