【发布时间】:2021-01-14 09:17:34
【问题描述】:
我将 WebJobsStartup 与我的 azure 函数一起使用。在 Startup.cs 文件中,我正在使用反射从我的另一个项目中加载 abc.dll 并调用它的主要方法。我想从这个被调用的方法(abc.dll)以及 HttpTrigger 函数中获取日志。
在 abc.dll 的 main 方法中,我使用 ILogger 来记录消息,并且与我的 azure 函数相同。
当我将此函数部署到 azure(Azure 函数)时,我只能看到与 azure 函数相关的日志,而不是 abc.dll(称为方法)的日志。我已经检查过 abc.dll 正在加载(通过调用网页登录)
我尝试了应用程序洞察和实时指标,更新了 host.json 作为以下 Azure 链接文档中提供的各种选项:
"fileLoggingMode": "debugOnly",
"logLevel": {
"Function.HttpTriggerAzureCSharp1":"Information",
"Host.Results": "Error",
"Host.Aggregator": "Trace",
"default": "Information"
},
这似乎不起作用。
请建议使用 azure 函数显示 abc.dll(称为方法)日志的选项。
我正在使用具有以下详细信息的 azure 函数:
- 操作系统:Linux
- 计划:消费
- 平台:.net-core
- 开发环境:Visual Studio 代码
- 语言:C#
【问题讨论】:
-
abc.dll里面的Illogger是怎么注入的?如果它没有连接到函数的 DI 配置,它可能无法工作。
-
我刚刚创建了 LoggerFactory 的新实例并使用了 ILogger。如何将其与函数的 DI 配置挂钩以使其工作?
-
如果abc.dll中包含一些你想使用的类,你应该在函数的DI配置中register them。然后将注入Ilogger
-
好的..会试试看。感谢您的快速回复。如果您能提供一些工作示例,那就太好了。
标签: c# .net-core reflection azure-functions azure-log-analytics