.Net Core Log4Net

1、在NuGet中安装Log4net.AspNetCore

2、创建LogHelper类

注意:引用(log4net; log4net.Config; log4net.Repository;

public class LogHelper
    {
        private static ILoggerRepository Repository { get; set; }

        private static ILog _log;
        private static ILog Log
        {
            get
            {
                if (_log == null)
                {
                    Configure();
                }
                return _log;
            }
        }

        public static void Configure(string repositoryName = "LogFileAppender", string configFile = "log4net.config")
        {
            //控制台应用程序加上以下两句代码
            Repository = LogManager.CreateRepository(repositoryName);
            XmlConfigurator.Configure(Repository, new FileInfo(configFile));

            _log = LogManager.GetLogger(repositoryName, "Logger");
        }

        /// <summary>
        /// 普通日志
        /// </summary>
        /// <param name="msg"></param>
        public static void Info(string msg)
        {
            _log.Info(msg);
        }

        /// <summary>
        /// 错误日志
        /// </summary>
        /// <param name="msg"></param>
        public static void Error(string msg)
        {
            _log.Error(msg);
        }
    }

3、在web端创建log4net.config文件并配置日志存放地址

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <log4net>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %newline%message%newline%newline" />
    </appender>
    <!--根配置-->
    <root>
      <!--日志级别:可选值: ERROR > WARN > INFO > DEBUG -->
      <level value="ERROR"/>
      <level value="INFO"/>
      <appender-ref ref="ErrorLog" />
      <appender-ref ref="InfoLog" />
    </root>
    <!-- 错误 Error.log-->
    <appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
      <!--目录路径,可以是相对路径或绝对路径-->
      <param name="File" value="D:\logs\NetCore\Error\"/>
      <!--文件名,按日期生成文件夹-->
      <param name="DatePattern" value="/yyyyMMdd"/>
      <!--追加到文件-->
      <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">
        <conversionPattern value="[%d{HH:mm:ss}]%m%n"/>
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="ERROR" />
        <param name="LevelMax" value="ERROR" />
      </filter>
    </appender>

    <!-- 信息 Info.log-->
    <appender name="InfoLog" type="log4net.Appender.RollingFileAppender">
      <!--目录路径,可以是相对路径或绝对路径-->
      <param name="File" value="D:\logs\NetCore\Info\"/>
      <!--文件名,按日期生成文件夹-->
      <param name="DatePattern" value="/yyyyMMdd"/>
      <!--追加到文件-->
      <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">
        <conversionPattern value="[%d{HH:mm:ss}]%m%n"/>
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="INFO" />
        <param name="LevelMax" value="INFO" />
      </filter>
    </appender>

  </log4net>
</configuration>

4、在web端Program.cs文件里Main方法里添加日志注册

 5、在程序中使用日志记录,如:LogHelper.Info(“日志记录”);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值