zoukankan      html  css  js  c++  java
  • C# 运用 log4net.dll 记录日志文件

    三个步骤,在C/S和B/S程序中快速加入日志

    日志记录等级
    (高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低)

    1.在项目中添加log4net.dll的引用


    (1)可以自行在网下下载需要的版本
    (2)也可以运用vs自带的NuGet包管理器安装

    2.在配置文件中添加log4net

    若是B/S程序

    配置文件为:Web.config

    若是C/S程序

    配置文件为:App.config

    配置文件中做修改:

    (1)在configuration 下 “第一个子节点”放入 configSections 节点,

    (2)再加入log4net 节点

     <log4net>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <!--日志路径-->
          <param name="File" value="C:App_LogTest" />
          <!--是否是向文件中追加日志-->
          <param name="AppendToFile" value="true" />
          <!--log保留天数-->
          <param name="MaxSizeRollBackups" value="30" />
          <!--日志文件名是否是固定不变的-->
          <param name="StaticLogFileName" value="false" />
          <!--日志文件名格式为:2008-08-31.log-->
          <param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />
          <!--日志根据日期滚动-->
          <param name="RollingStyle" value="Composite" />
          <param name="maxSizeRollBackups" value="10" />
          <param name="maximumFileSize" value="100MB" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p %c - %m%n" />
          </layout>
        </appender>
        <!-- 控制台前台显示日志 -->
        <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
          <mapping>
            <level value="ERROR" />
            <foreColor value="Red, HighIntensity" />
          </mapping>
          <mapping>
            <level value="Debug" />
            <foreColor value="Green" />
          </mapping>
          <layout type="log4net.Layout.PatternLayout">
            <header value="[BEGIN LOGGING AT %date]%newline" type="log4net.Util.PatternString" />
            <footer value="[END LOGGING AT %date]%newline%newline" type="log4net.Util.PatternString" />
            <ConversionPattern value="%d [%t] %-5p %c : [行号:%-5L] %m%n" />
          </layout>
          <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="INFO" />
            <param name="LevelMax" value="Fatal" />
          </filter>
        </appender>
        <root>
          <!--(高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低) -->
          <level value="all" />
          <appender-ref ref="ColoredConsoleAppender" />
          <appender-ref ref="RollingLogFileAppender" />
        </root>
      </log4net>

    3 在程序启动时读取log4net的配置文件

    方法一:在程序开始运行的时候读取log4net的配置文件
    引用对应的log4net命名空间

    B/S程序

    在根目录下 Global.asax 中的Application_Start方法中添加:
    log4net.Config.XmlConfigurator.Configure();

    C/S程序

    在根目录的Program.cs中的Main()方法中添加:
    log4net.Config.XmlConfigurator.Configure();

    方法二:
    B/S程序还是C/S程序都可以在 AssemblyInfo.cs中添加

    4 程序中使用

    using System;
    using log4net;
    
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                log4net.Config.XmlConfigurator.Configure();
    
                ILog log = LogManager.GetLogger("类名");
                //记录错误日志
                log.Error("This is error", new Exception("发生了一个异常"));
                //记录严重错误
                log.Fatal("This is fatal", new Exception("发生了一个致命错误"));
                //记录一般信息
                log.Info("This is info");
                //记录调试信息
                log.Debug("This is debug");
                //记录警告信息
                log.Warn("This is warn");
                Console.WriteLine("日志记录完毕。");
                Console.Read();
            }
        }
    }

    转 : https://blog.csdn.net/Q672405097/article/details/88341973

  • 相关阅读:
    crontab修改默认编辑器
    phpstorm license 解决
    获从2017-2 到现在所有月份;
    获取所在月第一天和最后一天
    EF相关报错
    EF延迟加载LazyLoading
    EF性能优化
    Redis
    搜索服务器Elasticsearch
    Nosql
  • 原文地址:https://www.cnblogs.com/fps2tao/p/14687863.html
Copyright © 2011-2022 走看看