【问题标题】:Azure Funtions C# How to log custom messages from a class using reflection to azure monitoring logs or analytics monitorlng logsAzure Functions C# 如何使用反射将自定义消息从一个类记录到 Azure 监控日志以进行分析监控日志
【发布时间】: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#

我已经试过thisthis2

【问题讨论】:

  • abc.dll里面的Illogger是怎么注入的?如果它没有连接到函数的 DI 配置,它可能无法工作。
  • 我刚刚创建了 LoggerFactory 的新实例并使用了 ILogger。如何将其与函数的 DI 配置挂钩以使其工作?
  • 如果abc.dll中包含一些你想使用的类,你应该在函数的DI配置中register them。然后将注入Ilogger
  • 好的..会试试看。感谢您的快速回复。如果您能提供一些工作示例,那就太好了。

标签: c# .net-core reflection azure-functions azure-log-analytics


【解决方案1】:

正如 Peter 在 cmets 中提到的,您可以在函数的 DI 配置中 register 它们。

这里有一个sample供你参考,你可以参考它来了解如何开发你的服务和日志提供者的代码。

【讨论】:

    猜你喜欢
    • 2021-01-02
    • 1970-01-01
    • 2013-06-02
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 2019-08-25
    • 1970-01-01
    相关资源
    最近更新 更多