MVC 6 标准日志消息
MVC 6 Standard Logging Messages
我正在我的 MVC 应用程序中实现日志记录。
我注意到自动记录了以下两条消息:
"Information : Request successfully matched the route with name 'XXX'
and template 'XXX'." "Verbose : Executing action"
我的问题是是否可以关闭这些消息以及如何实现。我确定它在某处的配置中,但我还没有找到它。
日志记录有不同的级别,您可以将其设置为更高级别,它会消除信息级别的日志记录。
// LogLevels
//Debug = 1,
//Verbose = 2,
//Information = 3,
//Warning = 4,
//Error = 5,
//Critical = 6,
loggerFactory.MinimumLevel = LogLevel.Warning;
您可以在 Startup.cs 的 Configure 方法中进行设置
您需要添加一个过滤器来忽略您不关心的日志,同时继续允许您关心的日志(例如您的代码生成的日志)继续被记录——无论级别如何.
这取决于您使用的是哪个 LoggerProvider
,或者您是否自己滚动。由于您没有提供任何注册 LoggerProvider
的代码,我将使用 sample app from 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
的实现中引用它.
我正在我的 MVC 应用程序中实现日志记录。
我注意到自动记录了以下两条消息:
"Information : Request successfully matched the route with name 'XXX' and template 'XXX'." "Verbose : Executing action"
我的问题是是否可以关闭这些消息以及如何实现。我确定它在某处的配置中,但我还没有找到它。
日志记录有不同的级别,您可以将其设置为更高级别,它会消除信息级别的日志记录。
// LogLevels
//Debug = 1,
//Verbose = 2,
//Information = 3,
//Warning = 4,
//Error = 5,
//Critical = 6,
loggerFactory.MinimumLevel = LogLevel.Warning;
您可以在 Startup.cs 的 Configure 方法中进行设置
您需要添加一个过滤器来忽略您不关心的日志,同时继续允许您关心的日志(例如您的代码生成的日志)继续被记录——无论级别如何.
这取决于您使用的是哪个 LoggerProvider
,或者您是否自己滚动。由于您没有提供任何注册 LoggerProvider
的代码,我将使用 sample app from 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
的实现中引用它.