我在项目中拥有Common.Logging(3.4.1)和NLog(4.5.11)的最新版本。按照说明进行操作以绑定Common。在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);
上面是伪代码,不知道如何构造消息对象。 而且, _logger.InfoFormat 似乎可以与 String.Format 一起使用,而不是结构化日志记录。
Common.Logging除了使用 ThreadVariablesContext / GlobalVariablesContext / NestedThreadVariablesContext 以外,是否提供结构化日志记录?
答案 0 :(得分:2)
幸运的是,Common.Logging开发团队目前正在解决此问题: Common.Logging.NLog45 with support for structured logging #176
答案 1 :(得分:-1)
检出serilog以进行结构化日志记录。如果您的要求是使用NLog,则serilog也可以接收NLog。