一个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日志组件的更多相关文章

  1. asp.net core 集成 log4net 日志框架

    asp.net core 集成 log4net 日志框架 Intro 在 asp.net core 中有些日志我们可能想输出到数据库或文件或elasticsearch等,如果不自己去实现一个 Logg ...

  2. log4net日志组件经验分享

    引自log4net日志组件经验分享 我们在开发WEB项目的时候,经常会出现这样的情况:在本地调试都是正常的,但是部署到服务器上就不行了.一般出现这种情况很大一部分原因是因为服务的环境和本地不同,数据库 ...

  3. log4net日志组件

    转载:http://www.cnblogs.com/knowledgesea/archive/2012/04/26/2471414.html 一.什么是log4net组件 Log4net是基于.net ...

  4. .Net Core中的日志组件(Logging)

    1.介绍 Logging组件是微软实现的日志记录组件包括控制台(Console).调试(Debug).事件日志(EventLog)和TraceSource,但是没有实现最常用用的文件记录日志功能(可以 ...

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

    Log4net是阿帕奇基金会的非常流行的开源日志组件,是log4j的.NET移植版本,至今已经有11年的历史,使用方便并且非常稳定,此外很重要的一点是其和很多开源组件能很好的组合在一起工作,例如NHi ...

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

    简介 日志组件,作为程序员使用频率最高的组件,给程序员开发调试程序提供了必要的信息.ASP.NET Core中内置了一个通用日志接口ILogger,并实现了多种内置的日志提供器,例如 Console ...

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

    1.Log4net一般都不陌生,但是在配置上不同类型的项目又不相同的地方比如C#控制台程序和C# MVCWeb项目,拿控制台项目为例   项目源码在文章底部 2.首先创建一个控制台程序,引入Log4n ...

  8. Log4net日志组件使用

    一.简介 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题.经验表明,日 ...

  9. 使用log4net日志组件经验分享

    常见步骤: 第一:在项目中引用log4net组件. 第二:配置log4net,一般都写在web.config中. 第三:调用部分.       具体怎么配置,大家可以参考博客其它博友写的,这里我只写我 ...

随机推荐

  1. fiddler学习总结--autoresponder替换资源

    意义:替换服务器返回的内容 1.找到需要替换的目标 2.选择目标后,点击“autoresponder”-->”add  rules” 3.在下图中,选择“find a file”,再选择需要替换 ...

  2. 游戏服务器之Java热更新

    对于运行良好的游戏来说,停服一分就会损失很多收益.因为有些小bug就停服就划不来了.在使用Java开游戏服务器时,JVM给我们提供了一些接口,可以简单做一些热更新.修复一些小Bug而不用重启服务. J ...

  3. JavaWeb-----ServletConfig对象和servletContext对象

    1.ServletConfig ServletConfig:代表当前Servlet在web.xml中的配置信息 String getServletName()  -- 获取当前Servlet在web. ...

  4. 《CSS世界》读书笔记(一)

    <!-- <CSS世界> 张鑫旭 著 --> CSS世界构建的基石是HTML,而HTML最具代表的两个基石<div>和<span>正好是CSS世界中块级 ...

  5. 第十节 JS运动中级

    链式运动框架. 回调函数 运动停止时,执行函数 运动停止时,开始下一次运动 <!DOCTYPE html> <html lang="en"> <hea ...

  6. hdoj1905 Pseudoprime numbers (基础数论)

    Problem Description Fermat's theorem states that for any prime number p and for any integer a > 1 ...

  7. Bugku-CTF之输入密码查看flag

    Day14 输入密码查看flag http://123.206.87.240:8002/baopo/    

  8. CEF 设置Cookie

    参考文档:http://magpcss.org/ceforum/apidocs3/projects/(default)/CefCookieManager.html 转载:https://www.cnb ...

  9. Spark面试相关

    Spark Core面试篇01 随着Spark技术在企业中应用越来越广泛,Spark成为大数据开发必须掌握的技能.前期分享了很多关于Spark的学习视频和文章,为了进一步巩固和掌握Spark,在原有s ...

  10. map的循环删除操作

    1.错误示例 Map<String,InterfaceOutParam> outCodes1 = outParamList.stream().collect(Collectors.toMa ...