3

我的项目中有最新版本的Common.Logging (3.4.1) 和NLog (4.5.11)。按照说明在 app.config 中将 Common.Logging 与 NLog 绑定在一起,日志记录现在可以工作了。

现在我想要结构化日志记录:

private static readonly ILog _logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

var message = new IDontKnowWhat("A structured message for ClientId {ClientId}", ClientId.ToString());
_logger.Info(message);

以上是伪代码,不知道如何构造消息对象。而且,_logger.InfoFormat似乎与String.Format一起使用,而不是结构化日志记录。

除了使用ThreadVariablesContext/GlobalVariablesContext/NestedThreadVariablesContext之外, Common.Logging是否提供结构化日志记录?

4

2 回答 2

2

对我来说幸运的是,Common.Logging 开发团队目前正在解决这个问题: Common.Logging.NLog45 支持结构化日志记录 #176

于 2019-01-23T12:22:20.940 回答
0

出 serilog以具有结构化日志记录。如果你的需求是使用 NLog,serilog 也有一个 NLog 的接收器。

于 2019-01-21T15:19:11.390 回答