使用 Azure Functions 进行 ILogger 依赖注入

idu*_*ude 3 c# dependency-injection azure azure-functions ilogger

因此,我尝试使用依赖注入设置 ILogger,但遇到了一些麻烦。

在我的startup.cs文件中,我有一些看起来像这样的东西:

        builder.Services.AddLogging();
Run Code Online (Sandbox Code Playgroud)

然后,我尝试将该记录器提供给我自己的类(它的作用就像 ILogger 库的包装器)

    builder.Services.AddSingleton<LoggingWrapper>(s =>
    {
        return new LoggingWrapper(
            s.GetService<ILoggerFactory>());
    });
Run Code Online (Sandbox Code Playgroud)

因此,在我的 Azure 函数中,LoggingWrapper被注入内部,但它不会记录任何内容。每个函数附带的普通 ILogger 仍然可以工作,但我想知道为什么我的包装器没有记录任何内容。

Logging Wrapper 是一个类,它采用 ILogger 方法并使用它来创建自己的日志记录方法。例如loggingWrapper.logInformation("string"),有一个方法可以包装`ILogger.

我将其注入到我的其他类中,如下所示:s.GetService<ILoggerFactory>()

预先感谢您的所有帮助!

小智 14

我遇到了同样的问题 - 您需要设置/允许来自其他来源的日志记录:

{
  "version": "2.0",
  "logging": {
    "logLevel": {
      "YourNamespace": "Information"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

更多信息请点击这里:

  • 信息:这是`host.json`文件 (2认同)