【发布时间】:2016-05-17 00:28:26
【问题描述】:
如何关闭 ASP.NET 为每个请求完成的日志记录,例如
INFO 09:38:41 用户配置文件可用。使用“C:\Users\xxxx xxxx\AppData\Local\ASP.NET\DataProtection-Keys”作为密钥存储库和 Windows DPAPI 来加密静态密钥。
调试 09:38:41 托管开始
调试 09:38:41 托管开始
INFO 09:38:41 请求开始 HTTP/1.1 GET http://localhost:23369/
INFO 09:38:41 请求开始 HTTP/1.1 DEBUG http://localhost:23369/ text/html 调试 09:38:41 不支持调试请求
调试 09:38:41 请求路径 / 与支持的文件类型不匹配
调试 09:38:41 请求成功匹配名称为“默认”和模板“{controller=Home}/{action=Index}/{id?}”的路由。 调试 09:38:41 请求成功匹配名称为“默认”和模板“{controller=Home}/{action=Index}/{id?}”的路由。 调试 09:38:41 执行操作 Forums.Controllers.HomeController.Index
调试 09:38:41 执行操作 Forums.Controllers.HomeController.Index
INFO 09:38:41 使用参数 () 执行操作方法 Forums.Controllers.HomeController.Index - ModelState 有效'
INFO 09:38:41 执行动作方法 Forums.Controllers.HomeController.Index
..
我还没有找到如何关闭此注销功能...
这是我在Startup 类中的Configure 方法:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddProvider(new Log4NetProvider());
if (env.IsDevelopment())
{
app.UseBrowserLink();
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// For more details on creating database during deployment see http://go.microsoft.com/fwlink/?LinkID=615859
try
{
using (var serviceScope = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>()
.CreateScope())
{
serviceScope.ServiceProvider.GetService<ApplicationDbContext>()
.Database.Migrate();
}
}
catch { }
}
app.UseIISPlatformHandler(options => options.AuthenticationDescriptions.Clear());
app.UseStaticFiles();
app.UseIdentity();
// To configure external authentication please see http://go.microsoft.com/fwlink/?LinkID=532715
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
这是我的 project.json 文件:
"dependencies": {
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"log4net": "2.0.5",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final",
"Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc1-final",
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-rc1-final",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
"Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel",
"ef": "EntityFramework.Commands"
},
"frameworks": {
"dnx451": { }
},
更新:
我的 log4net 提供商被 from here
【问题讨论】:
-
1.您要关闭的日志到底在哪里。 2. 您的应用程序是如何托管的?
-
@haim770,第一个问题我没看懂。 2. IIS 快递。
-
您明确将
log4net注册为您的日志记录提供程序。是您要关闭的log4net日志吗?这是您在控制台中看到的吗?您只是想更改跟踪级别吗? -
@haim,我觉得跟log4net没什么关系,是我写的一个适配器,它无法访问asp.net管道,也就是说asp.net内部调用记录器工厂。
-
您没有指定在哪里看到/找到要禁用的日志,所以我不得不假设它是
log4net输出。同样,在哪里您看到DEBUG 09:38:41 Hosting starting行了吗?
标签: c# asp.net .net asp.net-core logging