zoukankan      html  css  js  c++  java
  • log4net日志配置

    //log4net日志
    public static ILoggerRepository repository { get; set; }

    public Startup(IConfiguration configuration)
    {
    Configuration = configuration;

    repository = LogManager.CreateRepository("AprilLog");
    XmlConfigurator.Configure(repository, new FileInfo("Config/log4net.config"));//配置文件路径可以自定义
    BasicConfigurator.Configure(repository);
    }

    log4net.config文件配置

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    </configSections>
    <log4net>
    <!--根配置-->
    <root>
    <!--日志级别:可选值: ERROR > WARN > INFO > DEBUG -->
    <level value="FATAL" />
    <level value="ERROR"/>
    <level value="WARN"/>
    <level value="INFO"/>
    <level value="DEBUG"/>
    <appender-ref ref="FatalLog" />
    <appender-ref ref="ErrorLog" />
    <appender-ref ref="WarnLog" />
    <appender-ref ref="InfoLog" />
    <appender-ref ref="DebugLog" />
    </root>

    <!-- 错误 Fatal.log-->
    <appender name="FatalLog" type="log4net.Appender.RollingFileAppender">
    <!--目录路径,可以是相对路径或绝对路径-->
    <param name="File" value="D:\Logs\xiaowu_mysql_demo"/>
    <!--文件名,按日期生成文件夹-->
    <param name="DatePattern" value="/yyyy-MM-dd/&quot;Fatal.log&quot;"/>
    <!--追加到文件-->
    <appendToFile value="true"/>
    <!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
    <rollingStyle value="Composite"/>
    <!--写到一个文件-->
    <staticLogFileName value="false"/>
    <!--单个文件大小。单位:KB|MB|GB-->
    <maximumFileSize value="200MB"/>
    <!--最多保留的文件数,设为"-1"则不限-->
    <maxSizeRollBackups value="-1"/>
    <!--日志格式-->
    <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="时间:%date 描述:%message 异常:%exception %n" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
    <param name="LevelMin" value="FATAL" />
    <param name="LevelMax" value="FATAL" />
    </filter>
    </appender>

    <!-- 错误 Error.log-->
    <appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
    <!--目录路径,可以是相对路径或绝对路径-->
    <param name="File" value="D:\Logs\xiaowu_mysql_demo"/>
    <!--文件名,按日期生成文件夹-->
    <param name="DatePattern" value="/yyyy-MM-dd/&quot;Error.log&quot;"/>
    <!--追加到文件-->
    <appendToFile value="true"/>
    <!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
    <rollingStyle value="Composite"/>
    <!--写到一个文件-->
    <staticLogFileName value="false"/>
    <!--单个文件大小。单位:KB|MB|GB-->
    <maximumFileSize value="200MB"/>
    <!--最多保留的文件数,设为"-1"则不限-->
    <maxSizeRollBackups value="-1"/>
    <!--日志格式-->
    <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="时间:%date 描述:%message 异常:%exception %n" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
    <param name="LevelMin" value="ERROR" />
    <param name="LevelMax" value="ERROR" />
    </filter>
    </appender>

    <!-- 警告 Warn.log-->
    <appender name="WarnLog" type="log4net.Appender.RollingFileAppender">
    <!--目录路径,可以是相对路径或绝对路径-->
    <param name="File" value="D:\Logs\xiaowu_mysql_demo"/>
    <!--文件名,按日期生成文件夹-->
    <param name="DatePattern" value="/yyyy-MM-dd/&quot;Warn.log&quot;"/>
    <!--追加到文件-->
    <appendToFile value="true"/>
    <!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
    <rollingStyle value="Composite"/>
    <!--写到一个文件-->
    <staticLogFileName value="false"/>
    <!--单个文件大小。单位:KB|MB|GB-->
    <maximumFileSize value="200MB"/>
    <!--最多保留的文件数,设为"-1"则不限-->
    <maxSizeRollBackups value="-1"/>
    <!--日志格式-->
    <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="时间:%date 描述:%message %n" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
    <param name="LevelMin" value="WARN" />
    <param name="LevelMax" value="WARN" />
    </filter>
    </appender>

    <!-- 信息 Info.log-->
    <appender name="InfoLog" type="log4net.Appender.RollingFileAppender">
    <!--目录路径,可以是相对路径或绝对路径-->
    <param name="File" value="D:\Logs\xiaowu_mysql_demo"/>
    <!--文件名,按日期生成文件夹-->
    <param name="DatePattern" value="/yyyy-MM-dd/&quot;Info.log&quot;"/>
    <!--追加到文件-->
    <appendToFile value="true"/>
    <!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
    <rollingStyle value="Composite"/>
    <!--写到一个文件-->
    <staticLogFileName value="false"/>
    <!--单个文件大小。单位:KB|MB|GB-->
    <maximumFileSize value="200MB"/>
    <!--最多保留的文件数,设为"-1"则不限-->
    <maxSizeRollBackups value="-1"/>
    <!--日志格式-->
    <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="时间:%date 描述:%message %n" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
    <param name="LevelMin" value="INFO" />
    <param name="LevelMax" value="INFO" />
    </filter>
    </appender>

    <!-- 调试 Debug.log-->
    <appender name="DebugLog" type="log4net.Appender.RollingFileAppender">
    <!--目录路径,可以是相对路径或绝对路径-->
    <param name="File" value="D:\Logs\xiaowu_mysql_demo"/>
    <!--文件名,按日期生成文件夹-->
    <param name="DatePattern" value="/yyyy-MM-dd/&quot;Debug.log&quot;"/>
    <!--追加到文件-->
    <appendToFile value="true"/>
    <!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
    <rollingStyle value="Composite"/>
    <!--写到一个文件-->
    <staticLogFileName value="false"/>
    <!--单个文件大小。单位:KB|MB|GB-->
    <maximumFileSize value="200MB"/>
    <!--最多保留的文件数,设为"-1"则不限-->
    <maxSizeRollBackups value="-1"/>
    <!--日志格式-->
    <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="时间:%date 描述:%message 异常:%exception %newline" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
    <param name="LevelMin" value="DEBUG" />
    <param name="LevelMax" value="DEBUG" />
    </filter>
    </appender>

    </log4net>
    </configuration>

    logUtil.cs类

    using log4net;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace xiaowu.Common
    {
    /// <summary>
    /// 日志类
    /// </summary>
    public class LogUtil
    {

    //https://www.cnblogs.com/AprilBlank/p/11282345.html
    private static readonly ILog log = LogManager.GetLogger("AprilLog", typeof(LogUtil));

    /// <summary>
    /// 调试日志
    /// </summary>
    /// <param name="msg"></param>
    /// <param name="obj"></param>
    public static void Debug(string msg, object obj = null)
    {
    if (log.IsDebugEnabled && !string.IsNullOrEmpty(msg))
    {
    if (obj == null)
    {
    log.Debug(msg);
    }
    else
    {
    log.DebugFormat(msg, obj);
    }
    }
    }
    /// <summary>
    /// 日常日志
    /// </summary>
    /// <param name="msg"></param>
    /// <param name="obj"></param>
    public static void Info(string msg, object obj = null)
    {
    if (log.IsInfoEnabled && !string.IsNullOrEmpty(msg))
    {
    if (obj == null)
    {
    log.Info(msg);
    }
    else
    {
    log.InfoFormat(msg, obj);
    }
    }
    }
    /// <summary>
    /// 错误日志
    /// </summary>
    /// <param name="msg"></param>
    /// <param name="obj"></param>
    public static void Error(string msg, object obj = null)
    {
    if (log.IsErrorEnabled && !string.IsNullOrEmpty(msg))
    {
    if (obj == null)
    {
    log.Error(msg);
    }
    else
    {
    log.ErrorFormat(msg, obj);
    }
    }
    }
    /// <summary>
    /// 重要日志
    /// </summary>
    /// <param name="msg"></param>
    /// <param name="obj"></param>
    public static void Fatal(string msg, object obj = null)
    {
    if (log.IsFatalEnabled && !string.IsNullOrEmpty(msg))
    {
    if (obj == null)
    {
    log.Fatal(msg);
    }
    else
    {
    log.FatalFormat(msg, obj);
    }
    }
    }
    }
    }

  • 相关阅读:
    【leetcode】92. 反转链表 II
    【leetcode】91. 解码方法
    【leetcode】89. 格雷编码
    【leetcode】86. 分隔链表
    【leetcode】82. 删除排序链表中的重复元素 II
    为什么选择react
    React 全家桶实现后台管理界面
    前后端同构
    浅谈React前后端同构防止重复渲染
    由React引发的前后端分离架构的思考
  • 原文地址:https://www.cnblogs.com/wugh8726254/p/15000226.html
Copyright © 2011-2022 走看看