分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

.net core 使用log4net日志组件

发布时间:2023-09-06 02:14责任编辑:白小东关键词:组件

一个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)); ???????} ???}

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

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

.net core 使用log4net日志组件

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved