【发布时间】:2021-02-01 03:26:45
【问题描述】:
我有一个 Azure 函数。在我的 startup.cs 我有
builder.Services.AddLogging();
在我的功能中:
public void MyFunction(blah blah, ILogger log) {
// this works fine, Hello world appears in the function output
log.LogInformation("Hello world");
}
但是,如果我尝试通过 ctor 将 ILogger 日志注入到类库中,我会得到一个空值。 因此,我改为使用 ClassName 注入 ILogger,这似乎工作正常,例如
public class MyClass() {
private readonly ILogger<MyClass> _log;
public MyClass(ILogger<MyClass> log) {
_log=log;
}
public void MyMethod() {
// this logs, but it doesn't log to the azure function output
_log.LogInformation("Inside a class library");
}
}
我的问题是,该类的任何日志消息都不会出现在该函数的日志输出中。我需要添加什么才能做到这一点?
【问题讨论】:
-
您是否已在 host.json 中定义了默认日志级别并将
APPINSIGHTS_INSTRUMENTATIONKEY设置为您的函数应用中的应用程序设置?检查thisworking repo 以获取更多配置