我正在我的MVC应用程序中实现日志记录。
我注意到以下两条消息正在自动记录:
“信息:请求已成功匹配名称为'XXX'和模板为'XXX'的路由。” “详细:执行动作”
我的问题是是否可以关闭这些消息以及如何完成这些消息。我确定它在某处的配置中,但是我还没有找到它。
您需要添加一个过滤器,该过滤器将忽略不需要的日志,同时继续允许您关心的日志(例如您的代码生成的日志)继续记录-无论级别如何。
这将取决于LoggerProvider
您使用的是哪个,或者是否要滚动自己的。由于您还没有提供任何代码来注册您的代码LoggerProvider
,因此我将以Logging / AspNet中的示例应用程序为例。注释行25:
factory.AddConsole((category, logLevel) => logLevel >= LogLevel.Critical &&
category.Equals(typeof(Program).FullName)); // restricts to Program
上面的类别过滤器限制了记录器仅记录由SampleApp.Program
对象产生的项目(虽然仅允许Critical
或更高级别的日志,但我们不在乎该位)
现在,您可以继续将要记录的每个名称空间列入白名单,但是将不需要的名称空间列入黑名单更容易。这些Microsoft.AspNet.*
库非常嘈杂,因此您可以添加以下过滤器以阻止它们记录日志:
factory.AddConsole((category, logLevel) => !category.StartsWith("Microsoft.AspNet"));
如果您使用了自己ILogger
的过滤器,则只需确保已将过滤器作为构造函数参数包含在内,并确保在实现时引用了该过滤器ILogger.IsEnabled
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句