.net core 使用log4net日志组件

一个web站点必须要记录日志,否则哪里出错了,完全是黑娃找黑妹,两眼一抹黑。

最常用的就是log4net日志组件。我们可以通过扩展加入日志组件。

第一步:在项目中NuGet log4net包,即 Install-Package log4net;

第二步:添加log4net.config配置文件到项目中;

第三步:在项目中新建一个LogExtension类,代码如下所示:

public static partial class LogExtension {
        //配置文件,我将之放在站点根目录的Config文件夹中
        private static string Log4netConfigureName => "Config/log4net.config";

        //日志仓储的名称
        private static string RepositoryName => "Log4NetLogRepository";

        //全局使用一个日志仓储。
        //注意:不允许定义多个同名的日志仓储。
        public static ILoggerRepository Repository => LogManager.CreateRepository(RepositoryName);

        static LogExtension() {
            //配置已经被实例化的日志仓储
            XmlConfigurator.Configure(Repository, new FileInfo(Log4netConfigureName));
        }

        /// <summary>
        /// 获取ILog实例
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public static ILog GetLog(this Type type) {
            if (type == null)
                throw new ArgumentNullException();
            //只要有了日志仓库,就可以得到一个ILog的实例。因此,在这之前必须实例化一个日志仓储
            return LogManager.GetLogger(RepositoryName, type);
        }

        /// <summary>
        /// 获取ILog实例
        /// </summary>
        /// <typeparam name="TEntity"></typeparam>
        /// <param name="entity"></param>
        /// <returns></returns>
        public static ILog GetLog<TEntity>(this TEntity entity) where TEntity : class {
            //只要有了日志仓库,就可以得到一个ILog的实例。因此,在这之前必须实例化一个日志仓储
            return LogManager.GetLogger(RepositoryName, typeof(TEntity));
        }
    }

第四步:使用方式见下图:

是不是很方便?简直不要太方便了!

原文地址:https://www.cnblogs.com/williamwsj/p/9648220.html

时间: 2024-08-05 15:15:07

.net core 使用log4net日志组件的相关文章

ASP.NET使用log4Net日志组件教程(按日期与按日志大小切割)

对于一个大型网站与系统来说,日志是必备的工具,通过日志你可以非常清楚程序的运行情况,及时得到反馈来解决问题,下面介绍ASP.NET版本的log4Net日志组件是个非常强大的工具,最新版本for .net2.0 1.2.10.0 本人搞了一天,终于知道搞清楚怎样使用了,简单记录一下. 以下介绍的方法是log4net使用单独的配置文件的. 开始行动: 第一步:在项目引用log4net.dll文件 第二步: 在Web.config文件中加入一句代码,位置如下: <configuration>   

Log4Net日志组件使用

                                               Log4Net日志组件使用 概要:LogNet是一套开源的程序日志记录系统,经过配置后可以自动抓取程序中的错误.异常信息,并写入磁盘,也可以在异常发生时执行其他指定的操作 新建一个类库:Logger,封装一个LogHelper.cs using System; using System.Collections.Generic; using System.Linq; using System.Text;

玩转ASP.NET Core中的日志组件

玩转ASP.NET Core中的日志组件简介日志组件,作为程序员使用频率最高的组件,给程序员开发调试程序提供了必要的信息.ASP.NET Core中内置了一个通用日志接口ILogger,并实现了多种内置的日志提供器,例如 ConsoleDebugEventSourceEventLogTraceSourceAzure App Service除了内置的日志提供器,ASP.NET Core还支持了多种第三方日志工具,例如 elmah.ioGelfJSNLogKissLog.netLoggrNLogSe

asp.net core 集成 log4net 日志框架

原文:asp.net core 集成 log4net 日志框架 asp.net core 集成 log4net 日志框架 Intro 在 asp.net core 中有些日志我们可能想输出到数据库或文件或elasticsearch等,如果不自己去实现一个 LoggerProvider 的话就需要借助第三方日志框架实现了,而一些第三方框架的实现大多比较完善和成熟,不失为一个好办法. 自己写了一个 log4net 的扩展 WeihanLi.Common.Logging.Log4Net,提供了在 .n

log4net日志组件

一.什么是log4net组件 Log4net是基于.net开发的一款非常著名的记录日志开源组件.他最早是2001年7月由NeoWorks Limited启动的项目,基本的框架源于另外的一个非常著名的姐妹组件-log4j.Log4net记录日志的功能非常强大.它可以将日志分不同的等级,比不同的样式,将日志输出到不同的媒介(数据库.文本.控制台.邮件--). 二.log4net的核心内容 Log4net 主要分为5个核心主键: Logger,Appender,Filter,Layout,Object

快速入门系列--Log4net日志组件

Log4net是阿帕奇基金会的非常流行的开源日志组件,是log4j的.NET移植版本,至今已经有11年的历史,使用方便并且非常稳定,此外很重要的一点是其和很多开源组件能很好的组合在一起工作,例如NHibernate等.对于以本地日志为主的中小型的项目,Log4net已经足够使用,当然涉及跨平台的大型分布式系统可以选择Elmah等其他日志组件. 在这里,主要介绍log4net的一些关键知识点,详细内容可见以下链接: 官方配置文档:http://logging.apache.org/log4net/

C#控制台程序使用Log4net日志组件

1.Log4net一般都不陌生,但是在配置上不同类型的项目又不相同的地方比如C#控制台程序和C# MVCWeb项目,拿控制台项目为例 2.首先创建一个控制台程序,引入Log4net.dll    --使用NuGet    3.进行一些简单的配置,在App.config文件中配置,如果大家没有App.config文件,可以通过在解决方案中,添加新建项→应用程序配置文件,进行添加. <?xml version="1.0" encoding="utf-8" ?>

Asp.net core 使用log4net作为日志组件,记录日志到本地。

原文:Asp.net core 使用log4net作为日志组件,记录日志到本地. GitHub demo :https://github.com/zhanglilong23/Asp.NetCore.Demo 1:引入包?首先使用Nuget引入log4net包,版本应>= 2.0.7 2:实现 ILogger 接口 public class Log4NetLogger : ILogger { private readonly ILog _log; private ILoggerRepository

Asp.Net Core中利用Seq组件展示结构化日志功能

在一次.Net Core小项目的开发中,掌握的不够深入,对日志记录并没有好好利用,以至于一出现异常问题,都得跑动服务器上查看,那时一度怀疑自己肯定没学好,不然这一块日志不可能需要自己扒服务器日志来查看,果然,很多东西没掌握,至此,花点时间看了下日志的相关操作.利用日志服务来查看日志数据. 本文地址:https://www.cnblogs.com/CKExp/p/9246788.html 本文Demo的地址:https://gitee.com/530521314/LogPanel.git 一.日志