zoukankan      html  css  js  c++  java
  • log4net快速上手

    园子里有一篇 Log4Net使用指南 写得很详细,推荐给准备使用log4net的同学看看。

    如果你不想花太多时间研究,也可以按下面的步骤在5分钟内搞定:

    1、添加对log4net.dll的引用

    2、修改配置文件,以app.config为例,参考内容如下:

    <?xml version="1.0" encoding="utf-8" ?>
    
    <configuration>
    
    	<configSections>
    		<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
    	</configSections>
    	<log4net>
    		<logger name="jimmy.logger">
    			<!--ALL->DEBUG->INFO->WARN->ERROR->FATAL->OFF 级别依次增加,
    			即:如果设置为INFO,则DEBUG类型的日志将不被记录;
    			如果设置为ERROR,则仅ERROR/FATAL二种级别的日志将被记录-->
    			<level value="WARN"/>
    			<appender-ref ref="RollingLogFileAppender"/>
    		</logger>
    		<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    			<!--是否追加到文件-->
    			<param name="AppendToFile" value="true" />
    			<!--日志文件最大10M-->
    			<param name="MaxSizeRollBackups" value="10" />
    			<param name="StaticLogFileName" value="false" />
    			<!--日志文件名前缀-->
    			<param name="File" value="log\\" />
    			<!--日志文件名按日期生成-->
    			<param name="RollingStyle" value="Date" />
    			<!--日志文件名的生成格式:yyyyMMdd.txt-->
    			<param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
    			
    			<!--日志记录的格式-->
    			<layout type="log4net.Layout.PatternLayout">
    				<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
    			</layout>
    		</appender>
    	</log4net>
    </configuration>
    
    3、示例代码
    using System;
    using log4net;
    
    
    namespace console_demo
    {
        class Program
        {      
    
            static void Main(string[] args)
            {
                log4net.Config.XmlConfigurator.Configure();
                ILog log = LogManager.GetLogger("jimmy.logger"); //这里的名字,要跟config中 logger name中对应          
    
                Console.WriteLine("log4net started...");
                Console.WriteLine("IsInfoEnabled={0}\nIsDebugEnabled={1}\nIsWarnEnabled={2}\nIsErrorEnabled={3}\nIsFatalEnabled={4}", log.IsInfoEnabled, log.IsDebugEnabled, log.IsWarnEnabled, log.IsErrorEnabled,log.IsFatalEnabled);
    
                if (log.IsInfoEnabled)
                {
                    log.Info("info test");
                }
    
                if (log.IsDebugEnabled) 
                {
                    log.Debug("Debug test");
                }
    
                if (log.IsWarnEnabled)
                {
                    log.Warn("Warn test");
                }
    
                if (log.IsErrorEnabled)
                {
                    log.Error("Error test");
                }
    
                if (log.IsFatalEnabled)
                {
                    log.Fatal("Fatal test");
                }
    
                Console.ReadKey();
            }
        }
    }
    
    运行后,将在程序同级目录下,自动创建log目录,并生成类似20110417.txt的日志文件,内容类似下面这样:
    2011-04-17 20:41:25,347 [6948] WARN  jimmy.logger [(null)] - Warn test
    2011-04-17 20:41:25,463 [6948] ERROR jimmy.logger [(null)] - Error test
    2011-04-17 20:41:25,465 [6948] FATAL jimmy.logger [(null)] - Fatal test
    注:因为config的log4net节点配置了日志级别为WARN,所以低于WARN级别的DEBUG,INFO信息并没有记录在日志中。
    作者:菩提树下的杨过
    出处:http://yjmyzz.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    第三方驱动备份与还原
    Greenplum 解决 gpstop -u 指令报错
    yum安装(卸载)本地rpm包的方法(卸载本地安装的greenplum 5.19.rpm)
    Java JUC(java.util.concurrent工具包)
    netty 详解(八)基于 Netty 模拟实现 RPC
    netty 详解(七)netty 自定义协议解决 TCP 粘包和拆包
    netty 详解(六)netty 自定义编码解码器
    netty 详解(五)netty 使用 protobuf 序列化
    netty 详解(四)netty 开发 WebSocket 长连接程序
    netty 详解(三)netty 心跳检测机制案例
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/2019100.html
Copyright © 2011-2022 走看看