所以我尝试使用依赖注入(inject)设置 ILogger,但遇到了一些麻烦。
在我的startup.cs
文件我有一些看起来像这样的东西:
builder.Services.AddLogging();
然后,我尝试将该记录器提供给我自己的类(其作用类似于 ILogger 库的包装器)
builder.Services.AddSingleton<LoggingWrapper>(s =>
{
return new LoggingWrapper(
s.GetService<ILoggerFactory>());
});
所以在我的 Azure 函数中,LoggingWrapper
被注入(inject)内部,但它不会记录任何内容。每个函数附带的普通 ILogger 仍然可以工作,但我想知道为什么我的包装器没有记录任何内容。
Logging Wrapper 是一个类,它采用 ILogger 方法并使用它来创建自己的日志记录方法。例如loggingWrapper.logInformation("string")
是一个围绕“ILogger”的方法。
我将其注入(inject)到我的其他类中,如下所示:s.GetService<ILoggerFactory>()
预先感谢您的所有帮助!
最佳答案
我遇到了同样的问题 - 您需要设置/允许来自其他来源的日志记录:
{
"version": "2.0",
"logging": {
"logLevel": {
"YourNamespace": "Information"
}
}
}
更多信息请参见:
关于c# - 使用 Azure Functions 进行 ILogger 依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63403722/