c# - 记录器未显示在 ASP.NET Core 2.1 应用程序中
问题描述
正如标题所说,为什么当我运行应用程序时我的 Logger 没有显示在控制台中dotnet run
不过,我在 Controller 以外的类中使用 Logger。
这是代码:
public class TestController : Controller
{
private readonly ITestService service;
public TestController(ITestService service)
{
this.service = service;
}
}
public class TestService : ITestService
{
private readonly ILogger logger;
public TestService(ILogger<TestService> logger)
{
this.logger = logger;
}
public Task SomeFunction()
{
logger.Information("Do some function");
return Task.CompleteTask;
}
}
我正在使用Microsoft.Extensions.Logging
ILogger
这是我在以下位置注册服务的方式Startup.cs
:
services.Scan(scan => scan
.FromAssemblyOf<ITestService>()
.AddClasses(classes => classes
.Where(t => t.Name.EndsWith("Service")))
.AsImplementedInterfaces()
.WithTransientLifetime());
我正在Scrutor
使用Scan
这是我的配置Program.cs
:
WebHost.CreateDefaultBuilder(args)
.ConfigureServices(services => services.AddAutofac())
.ConfigureAppConfiguration((context, builder) =>
{
builder.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{Environment.MachineName}.json", optional: true, reloadOnChange: true);
})
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddConsole();
logging.AddDebug();
})
.UseStartup<Startup>();
作为代码,我尝试使用 logger 调用logger.Information("");
,但 logger 没有显示在我的控制台中。
我的代码有什么问题?
对不起我的英语不好。提前致谢
编辑:
差点忘了,这是我的appsettings.json
:
{
"Logging": {
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
},
"Console": {
"IncludeScopes": "true"
}
},
"AllowedHosts": "*"
}
解决方案
推荐阅读
- c# - 由 MS Teams 创建的收藏组无法设置为收藏
- sql - Left Join 不返回丢失的信息 - SQL Oracle
- python - 线型数据图不出现
- wpf - 为 Datagrid 自动生成的列应用数据模板 - 列名的动态绑定
- r - R - 抓取多个 url 并将每个数据 url 写入不同的 excel 数据表中
- javascript - 使用 javascript 的 Symbol.asyncIterator 和 for await 循环
- c# - 使用 ExpandoObject 创建接口的“假”实现 - 动态添加方法
- bluetooth - Web 蓝牙旁路配对屏幕
- azure - CosmosDb 意外的延续令牌
- sql - 在字符串中搜索字符并将其替换为空格 T-SQL