LibLog 加载 Log4Net 的正确姿势

in Code with 0 comment

安装LibLog

这里使用4.x版本(5.x版本适用于 dotnet core)的 LibLog,使用 nuget 安装,执行如下命令:

Install-Package LibLog -Version 4.2.6

安装配置log4net

  1. 使用如下命令安装:

    Install-Package log4net
  2. 配置 log4net,在 Global.asax 文件中,加入下面代码:

    // 加载日志框架
    log4net.Config.XmlConfigurator.Configure();
  3. AssemblyInfo.cs 文件最后,加入如下代码(注意路径问题,项目目录结构如下图):

    [assembly: log4net.Config.XmlConfigurator(ConfigFile = @"Configs\Log4Net.config", Watch = true)]

pa.png

  1. 项目中使用以下代码记录日志信息:

    using {PROJECT_NAME}.Logging;
    
    private static readonly ILog logger = LogProvider.GetCurrentClassLogger();
    
    logger.Info("hello, world!");

log4net 日志配置:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
    <appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="log\Error.Log.txt"/>
    <param name="AppendToFile" value="true"/>
    <param name="MaxSizeRollBackups" value="10"/>
    <param name="MaximumFileSize" value="1MB"/>
    <param name="RollingStyle" value="Size"/>
    <param name="StaticLogFileName" value="true"/>
    <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="记录时间:%d %n线程:[%t] %n日志级别:%-5p %n出错类:%c %n错误描述:%m%n%newline"/>
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMax" value="ERROR"/>
        <param name="LevelMin" value="ERROR"/>
    </filter>
    </appender>
    <appender name="InfoLog" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="log\Info.Log.txt"/>
    <param name="AppendToFile" value="true"/>
    <param name="MaxSizeRollBackups" value="10"/>
    <param name="MaximumFileSize" value="1MB"/>
    <param name="RollingStyle" value="Size"/>
    <param name="StaticLogFileName" value="true"/>
    <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="记录时间%d %n线程:[%t] %n日志级别:%-5p %n所属类:%c %n信息:%m%n%newline"/>
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMax" value="INFO"/>
        <param name="LevelMin" value="INFO"/>
    </filter>
    </appender>
    <appender name="DebugLog" type="log4net.Appender.RollingFileAppender">
    <param name="File" value="log\Debug.Log.txt"/>
    <param name="AppendToFile" value="true"/>
    <param name="MaxSizeRollBackups" value="10"/>
    <param name="MaximumFileSize" value="1MB"/>
    <param name="RollingStyle" value="Size"/>
    <param name="StaticLogFileName" value="true"/>
    <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="记录时间:%d %n线程:[%t] %n日志级别:%-5p %n所属类:%c %n信息:%m%n%newline"/>
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMax" value="DEBUG"/>
        <param name="LevelMin" value="DEBUG"/>
    </filter>
    </appender>
    <root>
    <level value="all"/>
    <appender-ref ref="InfoLog"/>
    <appender-ref ref="ErrorLog"/>
    <appender-ref ref="DebugLog"/>
    </root>
</log4net>
</configuration>
Comments are closed.