具有Azure函数的ILogger依赖项注入

问题描述

所以我试图通过依赖注入设置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<IAccountUpdaterLogger>()

提前感谢所有帮助!

解决方法

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

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

更多信息在这里:

,

您是要注入ILogger吗?

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...