【发布时间】:2018-05-07 07:41:43
【问题描述】:
我们希望为 ASP.Net Core Web 应用程序、Azure Functions 和 Web 服务使用通用日志库。 NLog 似乎是一个不错的选择,因为它有多个目标,例如Application Insights 和 Azure 表存储。理想情况下,我想做类似调用 CommonTrace(message) 并拥有该功能
(1) 跟踪其他信息,例如 (a) 环境 - DEV、TEST、PROD; (b) 本地时间,(c) System.Runtime.CompilerServices.CallerLineNumber (d) 调用应用程序等。
(2)调用NLog写出消息等信息。请注意,其他信息可能会附加到消息中或以其他方式保留。
但是当我了解更多关于 NLog 和 ASP.NET Core 的信息时,似乎如果一个人天真地创建一个基本的包装类来添加额外的信息,一个人可能会失去很多功能,例如。访问 NLog 和 Microsoft.Extensions.Logging 提供的调用站点和标头信息。
那么,是否可以将 NLog 完全子类化,然后像通常将 NLog 与 ASP.Net Core 一起使用一样使用该包装器。或者在使用 NLog 时是否有更好的方法来添加来自多个应用程序的公共信息?
【问题讨论】:
标签: asp.net-core subclass nlog