使用log4net组件记录系统日志

log4net是为.net下记录系统日志开发的框架组件,功能强大,使用也比较方便。
使用方法:
1. 在自己的项目中添加对log4net.dll的引用。
2. 设置配置文件App.config(也可以为log4net设置单独的配置文件,参考CarHui在.Net程序中使用log4net记录日志(示例)
示例:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    
<!--如果不用App.config作配置文件,则configSections节不是必须的。-->
    
<configSections>
        
<!--“type”属性的完整格式为:配置节处理器类名,程序集名称,Version=程序集版本号,Culture=区域信息,PublicKeyToken=公钥-->
        
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    
</configSections>
    
<log4net>
        
<!--日志记录器logger,可以有多个-->
        
<logger name="AppLogger">
            
<level value="INFO" />
            
<appender-ref ref="LogFileAppender" />
            
<appender-ref ref="ConsoleAppender" />
        
</logger>
        
<logger name="Form1">
            
<level value="DEBUG" />
            
<appender-ref ref="LogFileAppender" />
        
</logger>
        
<!--所有logger的基,root的设置在所有logger中都起作用。
        当在root和logger中重复设定相同的appender时,你会发现同一日志信息将被记录两次。
-->
        
<!--<root>
            <level value="WARN" />
            <appender-ref ref="LogFileAppender" />
            <appender-ref ref="ConsoleAppender" />
        </root>
-->
        
<!--一个appender可以由多个logger共用,当然一个logger可以指定多个appender。-->
        
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
            
<param name="File" value="App.log" />
            
<param name="AppendToFile" value="true" />
            
<layout type="log4net.Layout.PatternLayout">
                
<param name="Header" value="[Header]\r\n" />
                
<param name="Footer" value="[Footer]\r\n" />
                
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] %X{auth} - %m%n" />
            
</layout>
            
<filter type="log4net.Filter.LevelRangeFilter">
                
<param name="LevelMin" value="DEBUG" />
                
<param name="LevelMax" value="FATAL" />
            
</filter>
        
</appender>
        
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
            
<layout type="log4net.Layout.PatternLayout">
                
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] %X{auth} - %m%n" />
            
</layout>
        
</appender>
    
</log4net>
</configuration>

3. 在代码中使用logger。
            // 根据配置文件对logger进行配置。
            object o = ConfigurationSettings.GetConfig( "log4net" );
            log4net.Config.DOMConfigurator.Configure( o 
as System.Xml.XmlElement );

            log4net.ILog logger 
= log4net.LogManager.GetLogger( "AppLogger" );

            
// 在需要的地方调用logger记录日志信息。
            logger.Info("Start application");

一些参考资料,打包成了chm文件,点此下载

posted on   阳春三月  阅读(3075)  评论(10编辑  收藏  举报

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库

导航

< 2005年3月 >
27 28 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
3 4 5 6 7 8 9

统计

点击右上角即可分享
微信分享提示