• Log4Net(一):快速入门


    概览


      Log4Net是Apache Log4J框架在.NET平台上的实现,它是一个帮助开发者将日志信息以多种方式(数据库、控制台、文件等)输出的开源工具。

    为什么要使用日志记录

    • 提供应用程序运行时状态,供开发人员快速定位程序中的Bug
    • 通过多种方式输出,例如将异常信息通过邮件发送给系统管理员,及时发现问题
    • 代替某些注释

    日志记录的缺点

    • 降低系统性能

    ##快速入门

      本节通过以下三个步骤,简单讲解Log4Net的使用方法:

    开发环境:Microsoft Visual Studio Enterprise 2015

    Log4Net安装

      新建控制台应用程序Log4NetSample,工具栏选中Tools|NuGet Package Manager|Package Manager Console,输入Install-Package log4net,如下图所示,安装成功。

    Log4Net配置

      命名空间前添加XmlConfiguratorAttribute标记:

    [assembly: log4net.Config.XmlConfigurator(Watch = true)]
    

    注:也可以将标记添加至AssemblyInfo.cs,针对整个程序集生效

      向app.config文件添加如下配置:

    <configuration>
    	<configSections>
    		<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    	</configSections>
    
    	<log4net>
    		<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          		<!--日志路径-->
          		<param name= "File" value= "D:Log"/>
          		<!--是否是向文件中追加日志-->
          		<param name= "AppendToFile" value= "true"/>
          		<!--log保留天数-->
          		<param name= "MaxSizeRollBackups" value= "10"/>
          		<!--日志文件名是否是固定不变的-->
          		<param name= "StaticLogFileName" value= "false"/>
          		<!--日志文件名格式为:2017-07-25.log-->
          		<param name= "DatePattern" value= "yyyy-MM-dd&quot;.log&quot;"/>
          		<!--日志根据日期滚动-->
          		<param name= "RollingStyle" value= "Date"/>
          		<!--日志文本格式-->
          		<layout type="log4net.Layout.PatternLayout">
    	        	<!--例:2017-07-25 10:56:15,506 [9] INFO  Log4NetSample.Program 18 - 消息 -->
    	        	<!--%d  时间-->
    	        	<!--%t  线程-->
    	        	<!--%-5p  日志级别-->
    	        	<!--%c  出错类-->
    	        	<!--%L  出错行-->
    	        	<!--%m  日志信息-->
    	        	<!--%n  换行-->
    	        	<param name="ConversionPattern" value="%d [%t] %-5p %c %L - %m %n" />
          		</layout>
    		</appender>
    
        	<root>
          		<!--(高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低) -->
          		<level value="all" />
          		<appender-ref ref="RollingLogFileAppender"/>
        	</root>
    	</log4net>
    </configuration>
    

    Log4Net使用

      向Program.cs文件的Main方法键入如下代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Reflection;
    using log4net;
    
    [assembly: log4net.Config.XmlConfigurator(Watch = true)]
    namespace Log4NetSample
    {
        class Program
        {
            static void Main(string[] args)
            {
                var log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
    
                log.Info("消息");
                log.Warn("警告");
                log.Error("异常");
                log.Fatal("错误");
    
                Console.ReadLine();
            }
        }
    }
    

    启动程序,如下图所示,D:Log目录下已经生成了log文件

  • 相关阅读:
    如何在一个for语句中迭代多个对象(2.7)
    yield列表反转 islice切片(2.6)
    yield和生成器, 通过斐波那契数列学习(2.5)
    python实现线程池(2.4)
    LOJ 3120: 洛谷 P5401: 「CTS2019 | CTSC2019」珍珠
    瞎写的理性愉悦:正整数幂和与伯努利数
    bzoj 3328: PYXFIB
    LOJ 3119: 洛谷 P5400: 「CTS2019 | CTSC2019」随机立方体
    洛谷 P5345: 【XR-1】快乐肥宅
    LOJ 3089: 洛谷 P5319: 「BJOI2019」奥术神杖
  • 原文地址:https://www.cnblogs.com/Answer-Geng/p/7229155.html
Copyright © 2020-2023  润新知