首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.NET核心- NLog -如何禁用特定路由的日志记录?

ASP.NET Core是一个跨平台的开源框架,用于构建现代化的Web应用程序。NLog是一个强大的日志记录库,可以帮助开发人员在应用程序中实现灵活和可扩展的日志记录功能。在ASP.NET Core中,可以通过配置NLog来禁用特定路由的日志记录。

要禁用特定路由的日志记录,可以按照以下步骤进行操作:

  1. 首先,确保已在ASP.NET Core项目中安装了NLog。可以通过NuGet包管理器或在.csproj文件中手动添加依赖项来完成安装。
  2. 在项目的根目录下创建一个名为"NLog.config"的文件,用于配置NLog的行为。在该文件中,可以定义日志记录器的规则、目标和格式等。
  3. 打开"NLog.config"文件,并添加一个名为"rules"的节点。在该节点下,可以添加多个规则来定义不同路由的日志记录行为。
  4. 在每个规则节点中,可以使用条件表达式来指定要禁用日志记录的路由。例如,可以使用"when"属性来指定某个路由的条件,如when="${aspnet-request-url} == '/api/sensitive'
  5. 在规则节点中,可以使用"logger"属性来指定要应用该规则的日志记录器名称。可以使用通配符来匹配多个日志记录器。
  6. 在规则节点中,可以使用"enabled"属性来控制该规则是否启用。将其设置为"false"即可禁用该规则的日志记录。

以下是一个示例的"NLog.config"文件的内容:

代码语言:txt
复制
<nlog>
  <rules>
    <logger name="*" minlevel="Trace" writeTo="file" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="console" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="database" enabled="false" />
    <logger name="*" minlevel="Trace" writeTo="email" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="eventlog" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="debugger" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="logstash" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="slack" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="syslog" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="azureEventHub" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="gelf" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="graylog" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="newrelic" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="sentry" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="logentries" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="loggly" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="papertrail" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="seq" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="sumoLogic" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="splunk" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearch" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulk" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchAsync" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchHttp" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchHttpAsync" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchHttpAsyncBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchHttpBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchHttpJson" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchHttpJsonAsync" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchHttpJsonAsyncBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchHttpJsonBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchJson" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchJsonAsync" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchJsonAsyncBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchJsonBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkJson" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkJsonAsync" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkJsonAsyncBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkJsonBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttp" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttpAsync" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttpAsyncBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttpBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttpJson" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttpJsonAsync" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttpJsonAsyncBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttpJsonBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkJson" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkJsonAsync" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkJsonAsyncBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkJsonBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttp" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttpAsync" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttpAsyncBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttpBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttpJson" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttpJsonAsync" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttpJsonAsyncBuffered" enabled="true" />
    <logger name="*" minlevel="Trace" writeTo="nlogElasticSearchBulkHttpJsonBuffered" enabled="true" />
  </rules>
</nlog>

在上述示例中,定义了多个规则来控制不同目标的日志记录行为。可以根据实际需求进行修改和扩展。

需要注意的是,以上只是一个示例,具体的配置取决于应用程序的需求和架构。可以根据实际情况来定义规则和目标。

推荐的腾讯云相关产品:腾讯云日志服务(CLS)。

腾讯云日志服务(CLS)是一种全托管的日志管理服务,可以帮助用户实时采集、存储、检索和分析日志数据。CLS提供了强大的日志查询和分析功能,可以帮助用户快速定位和解决问题。

腾讯云日志服务(CLS)产品介绍链接地址:https://cloud.tencent.com/product/cls

通过使用腾讯云日志服务(CLS),可以将应用程序的日志数据发送到CLS,并使用CLS提供的查询和分析功能来检索和分析日志数据。可以根据需要创建日志主题和日志集,并配置日志采集器来收集日志数据。CLS还提供了丰富的查询语法和分析功能,可以帮助用户快速定位和解决问题。

总结:通过配置NLog,可以在ASP.NET Core应用程序中禁用特定路由的日志记录。腾讯云日志服务(CLS)是一个推荐的云计算产品,可以帮助用户实现日志管理和分析。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一套标准的ASP.NET Core容器化应用日志收集分析方案

如何利用NLog输出结构化日志,并在Kibana优雅分析日志? 既然能直接向ElasticSearch写日志,为什么还要logstash等日志摄取器?...本文记录一套标准的、无侵入的的容器化应用日志收集方案: 什么样的日志应该被收集? 如何输出为结构化日志? 使用EFK无侵入的收集分析日志 ?...定制ASP.NET Core日志 面向互联网的经典应用,不外乎三部分日志:请求、业务处理、数据库操作。 在实际采集日志时,关注[特定日志场景]: 提供给第三方调用的API(?...{Environment}.json文件的Logging配置节, 支持多个LogProvider、过滤日志、定制特定种类日志的收集级别。...// 除以上日志之外,记录Warning+级别日志 } } 以上Logging配置针对[特定日志场景],满足经典互联网应用的日志采集需求。

65410

ASP.NET Core 入门教程 10、ASP.NET Core 日志记录(NLog)入门

一、前言 1、本教程主要内容 ASP.NET Core + 内置日志组件记录控制台日志 ASP.NET Core + NLog 按天记录本地日志 ASP.NET Core + NLog 将日志按自定义LoggerName...分类记录到不同目录 ASP.NET Core + NLog 按文件大小归档记录本地日志 NLog配置文件常用配置项说明 2、本教程环境信息 软件/环境 说明 操作系统 Windows 10 SDK 2.1.401...phone=16666666666,就只会看到Info级别日志了 三、ASP.NET Core + NLog 记录本地日志 1、安装NLog Package 在控制台使用命令安装NLog包: //进入项目目录...> NLog配置文件一般主要包含两个部分,节点配置日志写入目标,节点配置匹配路由到的规则。...rules节点/属性 ken.io的说明 logger 日志记录器路由规则配置 name LoggerName匹配,支持完整匹配和模糊匹配,例如:mylog、Ken.* minlevel 最低日志级别

1.6K20
  • ASP.NET Core 2.1 : 十二.内置日志、使用Nlog将日志输出到文件

    ASP.NET Core提供了内置的日志,但没弄明白这么把它输出到文件, 只能在VS的输出中查看, 谁知道怎么弄告诉我一下。...(ASP.NET Core 系列目录) 本例 GitHub 一、内置日志的使用   上一篇:如何在后台运行一个任务  中使用到了内置的日志,直接在构造中注入一下,然后直接使用即可, 非常方便...通过上面的例子,看输出的日志文件有3个, 这是在nlog.config中配置的, 通过文件名可以找到对应的配置。   internal-nlog 记录了NLog的启动及加载config的信息。  ...nlog-all 记录了所有日志  nlog-own 记录了我们自定义的日志 这是为什么呢?...可仔细一看,两个的配置差不多,为什么下面的一个就只输出了我们自定义的log呢?看帮助才知道这是一个“路由表”,日志是从上到下匹配的。

    1.6K20

    如何利用NLog输出结构化日志,并在Kibana优雅分析日志?

    上文我们演示了使用NLog向ElasticSearch写日志的基本过程(输出的是普通文本日志),今天我们来看下如何向ES输出结构化日志、在Kibana中分析日志。 什么是结构化日志?...如果找到特定OrderId? 如何找到哪些请求耗时较长(比如大于2S)? 如何定位到该耗时请求处理管道中哪一段出现性能瓶颈? 出现性能瓶颈的请求占比? 普通文本对人类友好,对于机器不友好。...---- 下面来完整输出、分析提交订单请求的日志: 利用NLog向ES输出结构化日志 NLog4.5引入结构化日志,支持Message Template, 在ASP.NET Core脚手架Startup...总结 本文肝时较长(elasped>=10天) 从常规诊断日志谈到[对机器友好,适用于分析的结构化日志],其中的核心是消息模板。...再谈到我是如何利用NLog输出结构化日志,其中注意在NLog Target中设置includeAllProperties=true(默认是false), 摸索了很久 最后在Kibana中演示便捷的分析结构化日志

    1.3K30

    .NET开源分布式日志框架ExceptionLess实战演练(公开版)

    一、课程介绍 在以前,我们做日志收集大多使用 Log4net,Nlog 等框架,在应用程序变得复杂并且集群的时候,可能传统的方式已经不是很好的适用了,因为收集各个日志并且分析他们将变得麻烦而且浪费时间...相信大家的项目中日志功能已经做为基础设施里必不可少的一部分了,日志记录不仅可以更好的记录用户行为,还可以记录系统运行日志,从而看到判断系统运行的健壮性。...3.3、在WinForm应用程序中如何将日志推送到Exceptionless ABenNet.Exceptionless.WinApp 3.4、在ASP.NET WebForm应用程序中如何将日志推送到...3.6、在ASP.NET WebAPI应用程序中如何将日志推送到Exceptionless ABenNet.Exceptionless.WebAPIApp 3.7、在ASP.NET Xamarin For...、如何通过Nlog将日志推送到Exceptionless ABenNet.Exceptionless.NLog 3.10、聊一聊基于Exceptionless日志框架分布式架构的那点事 1)、两层日志框架架构设计

    55920

    ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB

    超级账号,超级权限   3、使用 NLog 记录日志信息   当我们安装配置好 MongoDB 后,有了存储日志信息的介质,我们就可以使用 NLog 来记录我们的程序日志信息了。...例如,这里,我添加了 NLog.Web.AspNetCore 这个程序集从而达到 NLog 对于 ASP.NET Core 的支持,以及添加了 NLog.Mongo 这个程序集用来将日志信息输出到 MongoDB...rules:rules 节点是将需要记录的日志级别关联到记录日志的方式上。这里,我是将只要是 Trace 以上的都进行日志记录。 nlog:NLog启动及加载config信息--> nlog-all:所有日志记录信息--> nlog-own:自定义日志记录信息--> ASP.NET Core 项目中使用 NLog 将日志信息记录到 MongoDB 中。

    1.7K10

    【ASP.NET Core 基础知识】--部署和维护--日志记录和错误处理

    在ASP.NET Core等现代Web开发框架中,日志记录是构建可靠、高性能应用程序的基础之一。 日志记录不仅仅是简单地将一些文本写入文件。...1.2 ASP.NET Core中的日志记录机制 内置日志记录提供程序 ASP.NET Core 提供了一组内置的日志记录提供程序,用于记录应用程序的运行状态和事件。...第三方日志记录提供程序 除了 ASP.NET Core 内置的日志记录提供程序之外,开发人员还可以选择使用第三方日志记录提供程序,这些提供程序通常提供更多的功能和灵活性。...: NLog 是另一个流行的日志记录库,它提供了丰富的配置选项和插件扩展,支持多种输出目的地和格式化选项。...五、总结 ASP.NET Core 日志记录和错误处理是开发 ASP.NET Core 应用程序中至关重要的方面。

    13201

    .NET 使用NLog增强日志输出

    因此一款好的日志组件将至关重要,在.NET 的开源生态中,目前主要有Serilog、Log4Net和NLog三款优秀的日志组件,但相较而言,NLog功能更加强大且扩展性强,允许开发者在仅修改配置文件的方式来丰富日志输出内容...NLog 日志组件的使用 那在实际使用中如何集成呢?接下来以ASP.NET Core 应用为例进行详细讲解。...ASP.NET Core 默认的日志过滤器 var nlogOptions = new NLogAspNetCoreOptions() { RemoveLoggerFactoryFilter = false...(NLog.Demo) in 94.5297ms 这种日志的好处是开发环境查看比较直观,但是因为缺失了字段信息,收集后不便分析,那如何调整为结构化的日志结构呢?...总结 通过以上介绍,相信你发现了NLog日志组件的强大之处,允许开发者在仅修改配置文件的方式来丰富日志输出字段、格式,可以有效地帮助开发者记录和分析应用程序的运行情况。

    2.8K20

    从头编写 asp.net core 2.0 web api 基础框架 (3)

    比如说我们的ProductController,需要使用Mylogger作为记录日志的服务,MyLogger是一个在设计时指定的具体的类,这就是说ProductController对MyLogger有一个依赖...在asp.net core里面有一些services是内置的并且已经在Container注册了,比如说记录日志用的Logger。...然后我们记录一些日志把: [Route("{id}", Name = "GetProduct")] public IActionResult GetProduct(int...虽然asp.net core 的log内置了记录到Windows Event的方法,但是由于Windows Event是windows系统独有的,所以这个方法无法跨平台,也就不建议使用了。...对于Nlog的配置就不进行深入介绍了。具体请看官方文档的.net core那部分。 然后需要把Nlog集成到asp.net core,也就是把Nlog注册到ILoggerFactory里面。

    1.6K70

    用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识 + 项目准备

    缓存: 缓存约束派生于无状态约束, 它要求从服务端返回的响应必须明确表明是可缓存的还是不可缓存的. 6. 按需编码: 这允许客户端可以从服务端访问特定的资源而无须知晓如何处理它们....运行项目后,可以看到我记录的日志: 同样也可以在一个类里面把记录的日志分为不同的分类,这时候你可以使用ILoggerFactory,这样就可以随时创建logger了,并把它绑定到特定的区域: 不知道您有没有发现上面这几个例子中日志输出的时候都有个数字...下面是ASP.NET Core里面定义的LogLevel(它是个枚举), 按严重性从低到高排序的: Trace = 0, 它可以包含敏感拘束, 默认在生产环境中它是被禁用掉的....可以看到日志信息的第一行内容是一样的, 第二行是各自的日志信息. 日志的过滤 我们可以为整个程序设定日志记录的最低级别, 也可以为某个日志提供商和分类指定特定的过滤器....第三方日志提供商 第三方的提供商有很多: Serilog, NLog, Elmah.IO, Loggr, JSNLog等等.

    2.7K72

    ASP.NET Core里让NLog根据环境加载配置文件

    但是NLog的官方例子里只有一份nlog.config,如何根据不同环境加载不同配置呢? 怎么会有这种想法 首先,这个需求的背景,依然来源于我自己的博客系统(https://edi.wang)。...虽然我仍然可以把日志记在网站目录下,但这么做并不是Azure的推荐实践。因此对于生产环境,我需要更改NLog的日志文件路径。...日志会写到不合理的文件夹里去,如果没有二级父目录,那么日志就直接没了。因此为了解决这个问题,我们需要一个能判断当前环境,并使用不同NLog配置文件的方法。...加载环境配置文件 NLog加载配置文件的位置位于ASP.NET Core应用刚启动的时候: public static void Main(string[] args) { var logger...,如何获取环境名称呢?

    2.2K50

    ASP.NET Core如何在ActionFilterAttribute里做依赖注入

    但是如何给过滤器ActionFilterAttribute也用上构造函数注入呢? 问题 我的博客系统里有个用来删除订阅文件缓存的ActionFilter,想要在发生异常的时候记录日志。...我的博客用的日志组件是NLog,因此不使用依赖注入的话,就直接使用LogManager.GetCurrentClassLogger()获得一个Logger的实例。...,但写代码最重要的就是逼格,这个代码耦合了NLog,而我的博客系统里其他地方早就在用ASP.NET Core的ILogger接口了。...如果哪天日志组件不再用NLog了,那么这个地方的代码就得改,而使用ILogger接口的代码就不需要动。...虽然这种情况是绝对不会发生的,但是写代码一定要有追求,尽可能过度设计,才能不被人鄙视,然后才能面试造航母,工作拧螺丝。因此我决定把日志组件用依赖注入的方式安排一下。

    1.4K30

    为什么我们需要Logstash,Fluentd等日志摄取器?

    前文传送门:如何利用NLog输出结构化日志,并在Kibana优雅分析日志? 疑问:既然应用能直接向ElasticSearch写日志,为什么我们还需要Logstash,Fluentd等日志摄取器?...总结:您的应用不应该关注日志的路由和存储(Elasticsearch / Graylog / ...),您的日志应该只输出到stdout,整个系统所有应用保持统一输出,由日志摄取器无侵入式收集。...我们再回顾下Fluent-Bit产生的背景和特性: 如今,我们环境中的信息源在不断增加,数据收集越来越复杂,需要解决 不同的信息来源 不同的数据格式 数据可靠性 安全 灵活的路由 多个目的地 Fluent-Bit...干货周边也很重要 [十二要素方法论] 十二要素App方法论 [如何利用NLog输出结构化日志] https://github.com/nlog/nlog/wiki/How-to-use-structured-logging...with ElasticSearch, Kibana, ASP.NET Core and Docker

    1.2K10

    asp.net core web 应用高并发优化漫谈

    API Gateway:使用 API Gateway 作为所有微服务的入口点,可以集中处理认证、限流、路由等跨服务的功能。 2....性能优化 异步编程:ASP.NET Core 天然支持异步编程,利用 async 和 await 关键字可以编写非阻塞的代码,提高应用的响应性和吞吐量。...使用 NoSQL 数据库:对于某些场景,如日志记录、用户行为追踪等,可以使用 NoSQL 数据库(如 MongoDB)来提高性能和扩展性。 4....监控与调试 日志记录:使用日志库(如 Serilog、NLog)记录应用运行时的详细信息,便于问题追踪和性能分析。...APM 工具:使用应用性能管理(APM)工具(如 AppDynamics、New Relic、Datadog)来监控应用的性能、错误和日志。

    29610

    .NET Core 日志记录程序和常用日志记录框架

    本文主要内容为.NET Core的日志记录程序和常使用的日志记录框架的简单使用 首先,打开VS2019新建一个ASP.NET Core Web Api项目,项目创建好后会有一个集成好的天气预报的类和控制器...1)使用NuGet安装NLog和NLog.Web.AspNetCore包 2)新建nlog.config配置文件,配置日志输出格式 3)右键新添加的log4net.config配置文件,更改文件属性...-- enable asp.net core layout renderers --> NLog.Web.AspNetCore...: 依赖性注入设置NLog } 6)配置appsettings.json appsettings.json中指定的日志配置覆盖了对SetMinimumLevel的任何调用。...枚举 6)日志级别 以上就是.NET Core 日志记录程序和常用日志记录框架的简单使用的介绍,做此记录,如有帮助,欢迎点赞关注收藏!

    32510

    Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验

    因为NLog具有高性能,易于使用,易于扩展和灵活配置的特点能够让你快速集成日志记录功能。...NLog是一个灵活的免费日志记录平台,适用于各种.NET平台,包括.NET Core。NLog可以通过简单地配置就可以可以很方便的写入多个日志仓库中(数据库,文件,控制台)。...这里大家可能会问,为什么没有Debug信息输出呢,这是因为我们上面NLog配置设置的记录日志的最低级别为Info.所以比Info级别小的Debug信息不会记录。...总结 本文开头讲述了分布式日志记录框架Exceptionless部署困难说起,然后引出轻量级简单易用的NLog日志框架,并通过一个简单地api项目讲述了NLog如何在Net Core中使用。...并且给出了NLog日志记录在mysql中的使用配置。以及mysql的建表语句。希望能对大家有所参考!

    79420

    用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识 (2) + 准备项目

    同样也可以在一个类里面把记录的日志分为不同的分类,这时候你可以使用ILoggerFactory,这样就可以随时创建logger了,并把它绑定到特定的区域: ? ?...下面是ASP.NET Core里面定义的LogLevel(它是个枚举), 按严重性从低到高排序的: Trace = 0, 它可以包含敏感拘束, 默认在生产环境中它是被禁用掉的....可以看到日志信息的第一行内容是一样的, 第二行是各自的日志信息. 日志的过滤 我们可以为整个程序设定日志记录的最低级别, 也可以为某个日志提供商和分类指定特定的过滤器....第三方日志提供商 第三方的提供商有很多: Serilog, NLog, Elmah.IO, Loggr, JSNLog等等....Interface 代表的是 "是什么样的", 而实现代表的是 "如何去实现". Interface一旦完成后是很少改变的.

    1.1K00
    领券