代码之家  ›  专栏  ›  技术社区  ›  Michel van Engelen

带公共日志和非日志的结构化日志记录

  •  1
  • Michel van Engelen  · 技术社区  · 6 年前

    我有最新版本的 Common.Logging (3.4.1)和 NLog (4.5.11)在我的项目中。按照说明将common.logging与app.config中的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);
    

    上面是伪代码,我不知道如何构造消息对象。 而且, _记录器.infoformat 似乎与 字符串格式 而不是结构化日志记录。

    常见测井 提供结构化日志记录,除了使用 threadvariableContext/globalvariableContext/nestedthreadvariableContext ?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Vitor Paulino    6 年前

    结帐 serilog 进行结构化日志记录。如果您的需求是使用nlog,serilog也有一个到nlog的接收器。

        2
  •  0
  •   Michel van Engelen    6 年前

    对我来说幸运的是,common.logging开发团队目前正在修复这个问题: Common.Logging.NLog45 with support for structured logging #176