zoukankan      html  css  js  c++  java
  • C# 在项目中配置Log4net

    我们介绍一下在项目中配置log4net,是Apache基金会旗下的。

    无论在什么环境中,配置log4net的逻辑都一样。

    1)文件配置

    首先在项目加载文件中,配置log4net加载项。

    在Web项目中在web.config配置,在系统服务、桌面程序在app.config配置。

    比如,在web.config中加入配置:(注意section元素是在configSections之下)

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />

    再在configuration节点下添加:

    <log4net>
        <startup>
          <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
        </startup>
        <!--日志记录器logger,可以有多个-->
        <logger name="WebSvrLog">
          <level value="ERROR" />
          <appender-ref ref="RollingLogFileAppender" />
        </logger>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <!--log存放的路径-->
          <param name="File" value="_log_" />
          <param name="AppendToFile" value="true" />
          <param name="StaticLogFileName" value="false" />
          <param name="MaximumFileSize" value="10MB" />
          <param name="Threshold" value="ALL" />
          <param name="DatePattern" value="yyyyMM&quot;\log_&quot;yyyyMMdd&quot;.log&quot;" />
          <param name="RollingStyle" value="Composite" />
          <param name="CountDirection" value="1" />
          <param name="AppendToFile" value="true" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] %X{auth} - %m%n" />
          </layout>
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
        </appender>
      </log4net>

    注意修改一下.NETFramework的version,这里是4.5.

    配置的问题一看名字就知道是什么意思了,这里不详述。有一个说明的是logger的name=WebSvrLog,代码要调出这个配置需要用到name来获取。这里level是ERROR级别,还有WARN/DEBUG级别。

    2)加载log配置文件

    在上面配置了log文件之后,要加载。如果在web项目中,在Global文件中加载就可以了。加载代码如下:

    log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~/Web.config")));

    如果你是其他文件,就选择加载其他路径的文件。

    3)在代码上写一个全局的Log就行了,代码如下:

    static log4net.ILog Log = log4net.LogManager.GetLogger("WebSvrLog");

    这行代码意思是根据name获取log。

    可以关注本人的公众号,多年经验的原创文章共享给大家。

    完毕

  • 相关阅读:
    handle/hmodule/hinstance/hwnd区别
    How to control progress bar setup made by WIX
    C#定制并发送HTML邮件
    如何添加WPF,SilverLight控件到ToolBox
    【FWD】Windows Azure Table Storage vs. Windows SQL Azure
    MSBuild failed after add a new configuration
    .NET 下各种Resource的读取方式
    杨辉三角算法改进
    代码生成技术
    回家的美丽
  • 原文地址:https://www.cnblogs.com/alunchen/p/7132900.html
Copyright © 2011-2022 走看看