关于log4net的使用

这类文章,在网上随便能找出一堆,毕竟对于找出来的一堆,众人还是需要自己理解一下方能消化。

为了自己忘记了能够及时再找到使用方法,特写此文以记之...

-----------------------------------------------------------------------------------------------

log4net版本:1.2.10.0

需要用到的文件:(2个)log4net.dll,log4net.config

 

log4net.config配置如下:

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" >
        <file value="log/abc.log" />
        <appendToFile value="true" />
        <maxSizeRollBackups value="100" />
        <maximumFileSize value="5MB" />
        <staticLogFileName value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss:fff} %p %m %n" />
            <!--a 输出创建日志的 AppDomain 的名称                  
                c 默认输出 logger 的全名称。后面可跟“ { 数字 } ”,则表示输出与数字对应的 logger 名称级别(从右边开始)。如全名为“ a.b.c ”,“ %c{2} ”输出“ b.c ”                  
                C 输出调用日志纪录请求的类名。后面可跟“ { 数字 } ”,表示输出与数字对应的类名称(包含命名空间,从右边开始)。                  
                d 输出日志记录时间,后可跟“ { 时间格式 } ”。默认为 yyyy-MM-dd HH:mm:ss,fff                  
                F 输出调用日志纪录请求的文件全名。(会影响速度)                  
                l 输出调用日志纪录请求的一些本地信息。如类和成员名,调用文件和调用声明的代码行数。(极其影响性能)                  
                L 输出调用日志纪录请求的声明代码行数。(极其影响性能)                  
                m 输出应用程序所要输出的信息。                 
                M 输出调用日志纪录请求的成员名称。(极其影响性能)                  
                n 输出换行符号                  
                p 输出日志请求的 Level 值                   
                r 输出从应用程序启动开始到日志纪录请求的时间(毫秒)                  
                t 输出产生日志的线程名称,如果没有名称则输出线程的编号                  
                u 输出当前活动用户的名称。( Principal.Identity.Name )                  
                W 输出当前活动用户的 windows 标识。 
                % 输出一个 % 号 
            -->
        </layout>
    </appender>

    <root>
        <level value="INFO" />
        <appender-ref ref="RollingLogFileAppender" />
    </root>
</log4net>

 

//系统加载时就设置
//BS在Application_Start、CS在Program.cs里设置
log4net.Config.XmlConfigurator.Configure(new FileInfo("log4net.config"));

//作为一个全局变量,在应用程序启动后设置,以后就直接使用
//可以在主页面的Onload时设置
log4net.ILog log = log4net.LogManager.GetLogger("随便取个名字");

 

 

 

posted @ 2011-12-02 14:51  liuhz  阅读(285)  评论(0编辑  收藏  举报