• Log4net 配置实例


    首先需要下载并引用Log4net的binary。这一步可以通过在Visual Studio里的Manage Nuget package for solution轻松添加。

    第二步是配置config文件,可以是App.config或Web.config或者单独的config文件:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
      </configSections>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
        </startup>
      <log4net>
        <root>
          <level value="ALL" />
          <appender-ref ref="ConsoleAppender" />
          <appender-ref ref="RollingFileAppender" />
        </root>
        <logger name="default">
        </logger>
        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date %-5level - %message%newline" />
          </layout>
        </appender>
        <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="CrawlerLog.txt" />
          <threshold value="WARN"/>
          <rollingStyle value="Size" />
          <maxSizeRollBackups value="10" />
          <maximumFileSize value="1MB" />
          <staticLogFileName value="true" />
          <layout type="log4net.Layout.PatternLayout">
            <footer value="-------------------------------------------------------------" />
            <conversionPattern value="%newline%-5level %date %newline%message%newline%exception" />
          </layout>
        </appender>
      </log4net>
    </configuration>

    第三步,需要告诉Log4net去哪里找这些配置,这一步可以通过在AssemblyInfo.cs里添加以下内容完成:

    [assembly: log4net.Config.XmlConfigurator(ConfigFile = "<your exe name>.exe.config", ConfigFileExtension = "config", Watch = true)]
    

    如果是web项目,可以在Global.asax里的Application_Start方法里添加一行:

    log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(System.Web.HttpContext.Current.Server.MapPath("web.config")));

    第四步,创建一个ILog实例,这样就可以开始使用了:

    using System;
    using log4net;
    
    namespace MyConsoleApp
    {
        class Program
        {
            static ILog logger = log4net.LogManager.GetLogger("default");
    
            static int Main(string[] args)
            {
                logger.Debug("debug msg");
                logger.Info("info msg");
                logger.Warn("warn msg");
                logger.Error("error msg", new Exception("test exception"));
                Console.Read();
                return 0;
            }
        }
    }

    一些补充说明:

    1. 配置文件里所有的<logger>节点都继承自<root>,默认使用root的配置。
    2. 可以通过设置appender的threshold属性来限制写入log的级别,比如文中示例config就配置为所有log都可以输出到控制台,但只有WARN及以上级别的log会记录到磁盘文件log。
    3. log输出格式定义遵循C语言printf风格,更多参数的详细说明可参考:http://logging.apache.org/log4net/release/sdk/log4net.Layout.PatternLayout.html
    4. 各种Appender的配置示例可参考:http://logging.apache.org/log4net/release/config-examples.html
  • 相关阅读:
    Phpstorm Xdebug Web程序调试
    Jquery源码中的Javascript基础知识(四)— jQuery.fn.init方法
    Jquery源码中的Javascript基础知识(三)
    Jquery源码中的Javascript基础知识(二)
    Jquery源码中的Javascript基础知识(一)
    smarty分页模板(用模板语法写分页)
    机器学习 一
    大型技术网站的技术( 高并发、大数据、高可用、分布式....)(一)
    来吧,English
    Nginx之一 正向代理和反向代理
  • 原文地址:https://www.cnblogs.com/k330/p/Configure_Log4net.html
Copyright © 2020-2023  润新知