• ASP.NET Core3.1关于Microsoft.Extensions.Logging.Log4Net.AspNetCore(非web,本人用于控制台程序——靠谱)


    此文转自:https://www.cnblogs.com/NetCode-chengyb/articles/12496811.html:置于最顶表示感激之情。

    概述

    log4net是 Apache Software Foundation 的 Apache Logging Services 项目的一部分。Logging Services项目旨在提供跨语言的日志记录服务,以进行应用程序调试和审核。在本文中将在.NET Core3.1下配置Log4net,实现项目的日志记录。

    Log4net官方地址:http://logging.apache.org/log4net/ ,有需要可以自行查看。

    Log4net在ASP.NET Core中的使用示例

    1.引入Nuget包

    tip:只需引入图中其中一个即可,第二个包 Microsoft.Extensions.Logging.Log4Net.AspNetCore 为Log4Net的NetCore扩展包

    2.添加Log4Net.config配置文件

    复制代码
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      
      <!-- This section contains the log4net configuration settings -->
      <log4net>
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="Log/" />
          <appendToFile value="true" />
          <rollingStyle value="Composite" />
          <staticLogFileName value="false" />
          <datePattern value="yyyy-MM-dd'.log'" />
          <maxSizeRollBackups value="10" />
          <maximumFileSize value="10MB" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date  [%thread]  %-5level  %message%newline" />
          </layout>
        </appender>
    
        <!-- Setup the root category, add the appenders and set the default level -->
        <root>
          <level value="ALL" />
          <appender-ref ref="RollingLogFileAppender" />
        </root>
    
      </log4net>
    
    </configuration>
    复制代码
    View Code - log4net.config

    tip:config文件需放置于项目根目录下,否则不起作用

    3.添加Log4Net帮助类

    复制代码
        /// <summary>
        /// 日志帮助类
        /// </summary>
        public class LogHelper
        {
            private static readonly ILog logger;
            static LogHelper()
            {
                if (logger == null)
                {
                    var repository = LogManager.CreateRepository("NETCoreRepository");
    
                    XmlConfigurator.Configure(repository, new FileInfo("log4net.config"));
    
                    logger = LogManager.GetLogger(repository.Name, "InfoLogger");
                }
            }
    
            /// <summary>
            /// 普通日志
            /// </summary>
            /// <param name="message"></param>
            /// <param name="exception"></param>
            public static void Info(string message, Exception exception = null)
            {
                if (exception == null)
                    logger.Info(message);
                else
                    logger.Info(message, exception);
            }
    
            /// <summary>
            /// 告警日志
            /// </summary>
            /// <param name="message"></param>
            /// <param name="exception"></param>
            public static void Warn(string message, Exception exception = null)
            {
                if (exception == null)
                    logger.Warn(message);
                else
                    logger.Warn(message, exception);
            }
    
            /// <summary>
            /// 错误日志
            /// </summary>
            /// <param name="message"></param>
            /// <param name="exception"></param>
            public static void Error(string message, Exception exception = null)
            {
                if (exception == null)
                    logger.Error(message);
                else
                    logger.Error(message, exception);
            }
        }
    复制代码
    View Code - LogHelper.cs

    4.使用

    你只需要在项目中任意地方,通过以下代码调用即可:

    • LogHelper.Info("test Info log");       //普通日志
    • LogHelper.Warn("test Warn log");     //告警日志
    • LogHelper.Error("test Error log");   //错误日志

    4.附上我的项目文件截图

  • 相关阅读:
    用Jdbc连接数据库后实现增删改查功能
    jdbc连接数据库
    聚合函数和分组查询
    数据库MySQL
    commons工具类 FilenameUtils FileUtils
    打印流(PrintWriter )
    一次性认识终端命令
    JSON数据展示神器:react-json-view(常用于后台网站)
    table固定列的宽度,超出部分用…代替(针对普通table和antd)
    git项目,VSCode显示不同颜色块的含义
  • 原文地址:https://www.cnblogs.com/Baron-King/p/13740791.html
Copyright © 2020-2023  润新知