ope*_*sas 3 asp.net logging dependency-injection asp.net-core-2.0
我正在使用.Net Core迈出第一步
刚刚使用创建了一个Web Hello世界
dotnet new web
Run Code Online (Sandbox Code Playgroud)
我可以看到已启用某种日志记录。我只想将某些内容记录到控制台。
但是我不知道如何从
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello World!!!");
});
Run Code Online (Sandbox Code Playgroud)
我尝试了Console.WriteLine,但显然不起作用。
还按照本指南https://github.com/NLog/NLog.Web/wiki/Getting-started-with-ASP.NET-Core-(csproj---vs2017)对NLog进行了尝试,但我不知道如何注入记录器。
我只是出于教育目的而四处寻找,而不是寻找真正的记录器,因此也许有更好/更容易的选择。
我可以这样实现:
[...]
using Microsoft.Extensions.Logging;
[...]
namespace web
{
public class Startup
{
ILogger log;
public Startup(ILoggerFactory loggerFactory)
{
log = loggerFactory.CreateLogger("Logger");
}
[...]
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole();
loggerFactory.AddDebug();
[...]
app.Run(async (context) =>
{
log.LogInformation("logging!");
await context.Response.WriteAsync("Hello World!");
});
}
}
}
Run Code Online (Sandbox Code Playgroud)
还必须将一个appsettings.json文件添加到项目的根目录
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3158 次 |
| 最近记录: |