MVC 6标准日志消息

时间:2015-09-21 14:53:55

标签: asp.net-core-mvc

我正在我的MVC应用程序中实现日志记录。

我注意到自动记录了以下两条消息:

  

“信息:请求成功匹配名称为'XXX'的路线   和模板'XXX'。“”详细:执行操作“

我的问题是,是否可以关闭这些消息以及如何完成这些消息。我确信它在配置中,但我还没有找到它。

2 个答案:

答案 0 :(得分:2)

您需要添加一个过滤器,忽略您不关心的日志,同时继续允许您关注的日志(如您的代码所做的那样)继续记录 - 无论级别如何。< / p>

这取决于您使用的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的实现中引用它。 / p>

答案 1 :(得分:0)

日志记录具有不同的级别,您可以将其设置为更高级别,它将消除信息级别日志记录。

// LogLevels
//Debug = 1,
//Verbose = 2,
//Information = 3,
//Warning = 4,
//Error = 5,
//Critical = 6,
loggerFactory.MinimumLevel = LogLevel.Warning;

您可以在Configure方法

中的Startup.cs中设置它