1

所以我正在尝试使用依赖注入设置 ILogger,但遇到了一些麻烦。

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

        builder.Services.AddLogging();

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

    builder.Services.AddSingleton<LoggingWrapper>(s =>
    {
        return new LoggingWrapper(
            s.GetService<ILoggerFactory>());
    });

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

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

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

提前感谢所有帮助!

4

2 回答 2

4

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

{
  "version": "2.0",
  "logging": {
    "logLevel": {
      "YourNamespace": "Information"
    }
  }
}

更多信息在这里:

于 2020-08-14T06:12:38.323 回答
1

你的意思是注入一个ILogger?

//NOT...                     <LoggingWrapper>
builder.Services.AddSingleton<ILogger>(s =>
{
    return new LoggingWrapper(
        s.GetService<ILoggerFactory>());
});
于 2020-08-13T21:56:34.403 回答