zoukankan      html  css  js  c++  java
  • C# 使用Log4Net记录程序日志

    在之前的博客中,写过使用系统内置的Trace类记录程序日志,具体请参考:C# 使用Trace记录程序日志。这篇博客将介绍如何使用Log4Net记录程序日志。

    首先需要引用Log4Net.dll,我们可以使用Visual Studio的NuGet来引入,也可以从官网上面下载。下面是一个简单的LogHelper类,

    using log4net;
    
    [assembly: log4net.Config.XmlConfigurator(Watch = true)]
    namespace CommonLibrary
    {
        public static class LogHelper
        {
            private static readonly ILog _logger = LogManager.GetLogger("LogTrace");
    
            public static void Info(string message)
            {
                _logger.Info(message);
            }
    
            public static void Debug(string message)
            {
                _logger.Debug(message);
            }
        }
    }

    在项目的App.config或者Web.config文件中添加下面的内容:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
        <!--Add Log4Net Section-->
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
      </configSections>
      
      <log4net>
        <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
          <param name="File" value="App.log" />
          <param name="AppendToFile" value="true" />
          <rollingStyle value="Size" />
          <maxSizeRollBackups value="10" />
          <maximumFileSize value="10MB" />
          <staticLogFileName value="true" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%nTime:%date                     %Info:%message%newline" />
          </layout>
        </appender>
        <logger name="LogTrace">
          <level value="ALL" />
          <appender-ref ref="LogFileAppender" />
        </logger>
      </log4net>
    </configuration>

    在程序中使用:

    LogHelper.Info("Startup...");

    运行结果,

    另外对上面的配置文件多提一点,我们可以指定日志文件的地址,当前配置文件中的日志文件放在程序的目录下。例如现在需要将日志文件放在 C:UsersXXXAppDataRoaming目录下,修改配置文件如下:

    <log4net>
        ...
      <param name="File" value="${APPDATA}App.log" />
        ...
    </log4net>

    非常简单。另外Log4Net除了可以将Log文件写在本地外,还可以将Log写入到数据库中或者通过邮件发送。只需要修改App.config文件即可。可以参考:Apache log4net™ Config Examples.

    感谢您的阅读!

  • 相关阅读:
    68
    56
    Django manager 命令笔记
    Django 执行 manage 命令方式
    Django 连接 Mysql (8.0.16) 失败
    Python django 安装 mysqlclient 失败
    H.264 SODB RBSP EBSP的区别
    FFmpeg—— Bitstream Filters 作用
    MySQL 远程连接问题 (Windows Server)
    MySQL 笔记
  • 原文地址:https://www.cnblogs.com/yang-fei/p/5305314.html
Copyright © 2011-2022 走看看