【发布时间】:2026-01-29 11:00:01
【问题描述】:
我有一个 Azure Function v2,如下所示:
public sealed class FindAccountFunction
{
private readonly IAccountWorkflow m_accountWorkflow;
public FindAccountFunction(ILogger<FindAccountFunction> logger)
{
m_logger = logger;
}
[FunctionName("FindAccount")]
public async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "GET", Route = "v1/accounts/")] HttpRequest httpRequest)
{
// Do stuff.
m_logger.LogInformation("Duuuddde");
}
}
如different question 中所述,正在注入记录器:
[assembly: WebJobsStartup(typeof(Startup))]
public sealed class Startup : IWebJobsStartup
{
public void Configure(IWebJobsBuilder webJobsBuilder)
{
// Registers other services...
// -- UPDATE - The AddLogging must be called here --
webJobsBuilder.Services.AddLogging();
}
}
然后我通过 HTTP 请求触发我的函数,并转到 Azure DevOps 上的函数门户,查看是否实际打印了日志:
我只看到表明函数运行成功的日志,但是我没有看到我的日志。
问题
为什么在我的 Azure Function v2 中注入的 ILogger 缺少 APPINSIGHTS_INSTRUMENTATIONKEY?
更新
当我查看注入的ILogger 时,我可以看到 Application Insights Provider 的 InstrumentationKey 没有设置。这同样适用于注入 ILogger 的 ctor,也适用于 Run 方法中注入的 ILogger。
对于我的本地测试,检测密钥在local.settings.json 文件中声明:
【问题讨论】:
标签: c# azure logging dependency-injection azure-functions