【问题标题】:.NET Core Fallback Logging.NET Core 后备日志记录
【发布时间】:2022-01-16 12:13:30
【问题描述】:

我的 ASP.NET Core GRPC 服务中有两个第三方日志记录提供程序。我可以以某种方式“链接”这些日志记录提供程序吗?我的意思是,日志记录提供程序 2 只能在日志记录提供程序 1 无法记录的情况下执行记录。 例如,如果我有一个 Application Insights 提供程序和 NLog 文件提供程序,我是否只能在我的服务无法连接到 Application Insights 基础架构时登录到该文件?

【问题讨论】:

    标签: asp.net-core logging .net-core


    【解决方案1】:

    您可以使用不同的 NLog 目标来完成上述所有操作。所以有一个 Azure Application Insight 的目标:https://www.nuget.org/packages/Microsoft.ApplicationInsights.NLogTarget/

    此外,如果您怀疑您的某些目标可能会缓慢执行,您可以使用 异步日志记录https://github.com/NLog/NLog/wiki/AsyncWrapper-target

    【讨论】:

      【解决方案2】:

      以我的拙见,设置一些规则以使两种日志提供程序像链一样工作是没有必要的,也许是不可能的。

      我们通常做的是让它们同时工作,就像使用 NLog 将日志写入文件并将日志发送到 Azure 应用程序洞察一样。

      顺便说一句,azure application insight 可能会因为一些意外而无法工作,但这是一个小概率事件。日志模块不工作的情况更有可能是应用程序崩溃,然后应用程序中的所有模块都已关闭,包括两个日志模块。所以即使有在应用洞察不工作时让 Nlog 工作的功能,很可能有一个结果,当应用洞察不工作时,Nlog 也不能工作。

      【讨论】:

        猜你喜欢
        • 2021-09-02
        • 2018-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-28
        • 1970-01-01
        • 2010-11-22
        相关资源
        最近更新 更多