我试着在程序类中调用接口。当我这样做时,我创建变量并将接口分配给变量(例如var logger = ILogger ),但我得到了错误,ILogger是一种类型,在给定的上下文中是无效的。上一次在.net 3中使用它时,我是在启动类而不是程序类中编写代码。首先,我将创建private readonly ILogger _log,而不是在consturctor中指定它为public Startup(ILogger log){_log=log;},然后我能够访问它,_log。如何在.net 6的程序类中做同样的事情。
发布于 2022-08-24 13:48:03
有几种方法可以解决这个问题,我会提到两种方法,第一种是这样的:
var logger = LoggerFactory.Create(config =>
{
config.AddConsole();
}).CreateLogger("Program");app.MapGet("/Test", async context =>
{
logger.LogInformation("Testing logging in Program.cs");
await context.Response.WriteAsync("Testing");
});第二条非常简单,只需将这一行放上去就行了:
app.Logger.LogInformation("Testing logging in Program.cs");真希望我能帮上忙!
https://stackoverflow.com/questions/73473695
复制相似问题