zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    vs要用报表功能
    汉字与字节
    php 实现excel导入导出
    php 判断是否是手机端和电脑端访问
    php getimagesize image_type_to_extension 等函数不能用
    php 处理base64图片信息
    php 百度编辑器ueditor-dev-1.5.0编译版细节流程
    react 可拖拽改变位置和大小的弹窗
    Java 进制转换
    Java自动装箱测试
  • 原文地址:https://www.cnblogs.com/k330/p/Configure_Log4net.html
Copyright © 2011-2022 走看看