• 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.

    感谢您的阅读!

  • 相关阅读:
    os.path等os模块函数
    Eclipse 中 安装 SVN 插件
    Maven 库
    Activiti 学习笔记(2016-8-30)
    Mybatis 操作数据库的主键自增长
    将现有的sql脚本导入 Oracle 数据库,中文乱码问题
    oracle创建表之前判断表是否存在,如果存在则删除已有表
    Cannot change version of project facet Dynamic Web Module to 3.1
    【转】oracle数据库开发的一些经验积累
    Oracle的自增长主键
  • 原文地址:https://www.cnblogs.com/yang-fei/p/5305314.html
Copyright © 2020-2023  润新知