• 如何使用log4net[转]


    介绍

    Log4net是一个开源的组件.可以使.net程序记录日志并输出成各种格式.

    使用代码

    Log4net可以提供简便的方式去使用强大的日志功能.步骤如下:
    1.获取最新版本的Log4net组件并添加引用到程序
    2.增加以后行到你的AssemblyInfo.cs文件

    [assembly: log4net.Config.XmlConfigurator(ConfigFile="Web.config",Watch=true)] //For log4net 1.2.10.0
    上面的语句提供了配置log4net参数的配置文件

    3.添加以下节点到web.config

    <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>
    <log4net debug="true">
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="C:\\TestProj\\TestLog.txt" />
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="10MB" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
    </layout>
    </appender>
    <root>
    <level value="DEBUG" />
    <appender-ref ref="RollingLogFileAppender" />
    </root>
    </log4net>

    上面的节点定义了配置记录日志的参数

    RollingLogFileAppender描述记录日志的方式,这代表日志将被写在一个文件,该文件当满的话会自动增加.这里有其他可用的途径来保存日志.

    layout负责格式化日志请求,然而保存日志途径的定义和日志输出的格式有关.上边layout输出的格式如下:

    2006-07-14 20:26:04,033 [1736] ERROR Utility [PayStub] - Could not find a part of the path
    "c:\inetpub\wwwroot\TestProj\Template\PayStub.xml"

    4.如果你想要log4net增加自己的诊断信息,须在web.config文件中加入以下代码:

    <appSettings>
    <add key="log4net.Internal.Debug" value="true" />
    </appSettings>

    在system.web节点下如以下代码:

    <system.diagnostics>
    <trace autoflush="true">
    <listeners>
    <add name="textWriterTraceListener"
    type="System.Diagnostics.TextWriterTraceListener"
    initializeData="C:\\TestProj\\TestProjlog4net.txt" />
    </listeners>
    </trace>
    </system.diagnostics>

    5.在代码页面进行以下步骤:

    a.添加名字空间
    using log4net;

    b.添加有类定义的声明
    private static readonly ILog log = LogManager.GetLogger(typeof(TestPage1).Name);

    private static readonly ILog log = LogManager.GetLogger(
    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

    6.现在你可以用下面的语句记录日志了:

    if (log.IsErrorEnabled)
    {
    log.Error("Page Load failed : " + ex.Message);
    }

    if (log.IsDebugEnabled)
    {
    log.Debug("Application loaded successfully.");
    }

    现在我们已经接触到log4net的皮毛了,log4net还有很多特性可用.

  • 相关阅读:
    l1-013
    将博客搬至CSDN
    Educational Codeforces Round 25
    大组合数取余模板【Lucas定理】
    Exams(二分求左界+贪心)
    Cutting (暴力 + 滚动哈希判字符串匹配)
    Cubes(DFS+剪枝)
    Codeforces Round #409 (Div. 2)
    【复习挖坑】dp + 图
    n & n-1 和 n & -n
  • 原文地址:https://www.cnblogs.com/relang99/p/683637.html
Copyright © 2020-2023  润新知