首页
学习
活动
专区
工具
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配置针对[特定日志场景],满足经典互联网应用日志采集需求。

59810

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.5K20

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中演示便捷分析结构化日志

1K30

.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)、两层日志框架架构设计

52720

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 应用程序中至关重要方面。

2000

.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.7K20

从头编写 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.5K70

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

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

2.6K72

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...,如何获取环境名称呢?

2K50

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

但是如何给过滤器ActionFilterAttribute也用上构造函数注入呢? 问题 我博客系统里有个用来删除订阅文件缓存ActionFilter,想要在发生异常时候记录日志。...我博客用日志组件是NLog,因此不使用依赖注入的话,就直接使用LogManager.GetCurrentClassLogger()获得一个Logger实例。...,但写代码最重要就是逼格,这个代码耦合了NLog,而我博客系统里其他地方早就在用ASP.NET CoreILogger接口了。...如果哪天日志组件不再用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

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

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

14010

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

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

71220

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

项目配置

运行项目后,可以看到我记录日志: 同样也可以在一个类里面把记录日志分为不同分类,这时候你可以使用ILoggerFactory,这样就可以随时创建logger了,并把它绑定到特定区域: 不知道您有没有发现上面这几个例子中日志输出时候都有个数字...下面是ASP.NET Core里面定义LogLevel(它是个枚举), 按严重性从低到高排序: Trace = 0, 它可以包含敏感拘束, 默认在生产环境中它是被禁用....可以看到日志信息第一行内容是一样, 第二行是各自日志信息. 日志过滤 我们可以为整个程序设定日志记录最低级别, 也可以为某个日志提供商和分类指定特定过滤器....第三方日志提供商 第三方提供商有很多: Serilog, NLog, Elmah.IO, Loggr, JSNLog等等....默认情况下, ASP.NET Core 项目不提供状态码细节信息, 但是通过启用StatusCodePagesMiddleware中间件, 我们可以启用状态码细节信息: 然后当我们访问一个不存在路由

79820
领券