我正在开发一个MVC6网络应用程序,而且我是ASP.NET 5的新手。 我可以看到Logging(Microsoft.Extensions.Logging)在ASP.NET 5默认Web应用程序模板中的许多地方(例如:AccountController.cs)使用,但我无法弄清楚在哪里配置路径创建的日志文件。 以下设置位于appsettings.json文件中。
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Verbose",
"System": "Information",
"Microsoft": "Information"
} }
在此部分添加参数是否足够?如果是,参数名称是什么?如果没有,该怎么办?
以前我使用Log4Net,配置是在logger.config文件中完成的。
答案 0 :(得分:6)
ILogger只是一个抽象,你必须实现一个具体的记录器(log4net,serilog,...)来登录文件。
public Startup(IHostingEnvironment env)
{
// Some other code
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug().WriteTo.File("YOUR FILE PATH HERE")
.CreateLogger();
}
在configure的方法中(在这里使用serilog):
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddSerilog();
// Some other code
}
答案 1 :(得分:3)
ASP.NET Core
中没有内置文件记录器。记录Github repository
答案 2 :(得分:0)
使用Serilog,通过一行代码将文件记录添加到ASP.NET Core应用中。
安装 Serilog.Extensions.Logging.File
Host.CreateDefaultBuilder(args)
.ConfigureLogging((hostingContext, builder) =>
{
builder.AddFile("Logs/myapp-{Date}.txt");
})