Dav*_*New 2 asp.net-core-mvc asp.net-core asp.net-core-webapi
在为 ASP.NET Core MVC 应用程序启用应用程序日志记录时,我发现每个向 API 发出的请求都记录了许多低级详细信息(请参见下面的示例)。
我发现这会用类似跟踪的细节污染应用程序日志(特别是因为我们每分钟收到数百个请求),使其变得非常难以处理。
有什么办法可以禁用它吗?或者也许我应该寻找另一种日志记录方法?
API 请求的示例 INFO 日志
2017-03-14 09:23:46.944 +00:00 [信息] 请求启动 HTTP/1.1 GET http://example.net/api/something application/json
2017-03-14 09:23:46.944 +00:00 [信息] 成功验证令牌。
2017-03-14 09:23:46.944 +00:00 [信息] HttpContext.User 通过来自 authenticationScheme 的 AutomaticAuthentication 合并:“Bearer”。
2017-03-14 09:23:46.944 +00:00 [Information] AuthenticationScheme:“Bearer”已成功通过身份验证。
2017-03-14 09:23:46.944 +00:00 [信息] 用户授权成功:空。
2017-03-14 09:23:46.944 +00:00 [信息] 执行带有参数的操作方法“Xyz.GetAsync (Xyz.Api)” (["Xyz.Something", "", "", "", " ", "0", "100", "", "2017-06-01T00:00:00Z", "False"]) - ModelState 有效
2017-03-14 09:23:47.115 +00:00 [信息] 执行 JsonResult,写入值“Xyz.Resources.SomeModel[]”。
2017-03-14 09:23:47.115 +00:00 [信息] 在 206.5169 毫秒内执行操作“Xyz.GetAsync (Xyz.Api)”
2017-03-14 09:23:47.115 +00:00 [信息] 请求在 216.8241ms 200 application/json 内完成;字符集=utf-8
看起来这个钩子在 netcoreapp2.0 中略有变化:
public virtual void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<ILoggerFactory, LoggerFactory>();
services.AddSingleton(typeof(ILogger<>), typeof(Logger<>));
services.AddLogging(builder =>
{
builder.SetMinimumLevel(LogLevel.Trace);
builder.AddFilter("Microsoft", LogLevel.Warning);
builder.AddFilter("System", LogLevel.Error);
builder.AddFilter("Engine", LogLevel.Debug);
});
/// ... etc
}
Run Code Online (Sandbox Code Playgroud)
添加上面的内容对我有用。
| 归档时间: |
|
| 查看次数: |
1598 次 |
| 最近记录: |