在Azure持久功能活动中使用ILogger?

时间:2019-09-01 00:19:41

标签: c# azure azure-devops cloud azure-functions

我将azure函数用于表插入事件触发器,特别是持久函数,并且我试图在我的活动函数中生成一些日志。

问题在于活动功能没有收到任何“ ILogger”,而协调器也没有,因此我没有任何访问权限,也无法生成调试日志。

总体流程为:

  

HTTP请求=> Duarble HTTP启动程序=>持久功能协调器=> 持久功能活动

是否可以为源自ILogger的某些类创建记录器实例?还是一种将ILogger实例从HTTP启动器传递到活动功能的方法?

任何解决方案将不胜感激!

1 个答案:

答案 0 :(得分:1)

默认情况下,除非您正在使用$(document).ready(function(){ $(".reset").click(function(){ $("#Form1").trigger("reset"); }); }); ,否则ILogger实例会注入您的函数中。

您需要做的就是使用注入到函数中的DI。 示例:

ILogger

如果您使用[FunctionName("Demo")] public async static Task RunOrchestrator( [OrchestrationTrigger] DurableOrchestrationContext context, ILogger log) { log.LogInformation("Starting Orchestration function"); } ,则应在启动时执行以下操作 Dependency injection

更多信息:

https://github.com/Azure/azure-functions-host/issues/4858

https://github.com/Azure/azure-functions-host/issues/2720#issuecomment-503627355

Microsoft Docs