NLog:如何以任何顺序设置参数

时间:2019-07-16 14:50:44

标签: nlog structured-logging

我有一个项目,我需要让用户在数据库中动态编写日志模板,并在执行时设置一些值。我使用NLog作为日志记录库。

例如,用户将输入“为注册表{registry}设置值{value}”,并在执行时生成“为注册表HRRTC2设置值45”。

我能够使用LogEventInfo做到这一点:

            var info = new LogEventInfo
            {
                Message = message,
                Parameters = parameters
            };
            _logger.Info(info);

我的问题是,以这种方式,用户必须对模板中的参数保持相同的顺序。它无法生成“注册表{registry}:设置值{value}”,因为它将生成“注册表45:设置值HRRTC2”。

我搜索了一些有关设置命名参数({value = 45, registry="HRRTC2"})的方法的文档,但是没有成功。

我尝试使用LogEventInfo的MessageTemplateParameters属性,但无法弄清楚它如何工作。

谢谢。

0 个答案:

没有答案