从NLog中的目标获取布局

时间:2015-06-10 21:06:20

标签: c# nlog

我有一个NLog配置文件。

LoggingConfiguration nLogLoggingConfiguration;

然后

foreach (var target in nLogLoggingConfiguration.AllTargets)
        {

我想从目标中获取布局,它似乎在内存中。当我在调试时将鼠标悬停在它上面。我发现: target

我想要的是

 ${message}|${exception:format=tostring}|${stacktrace}

1 个答案:

答案 0 :(得分:0)

并非所有目标都有布局,因此您必须获取从TargetWithLayout继承的项目,然后您可以在Layout对象上调用ToString。一个例子:

foreach (var target in nLogLoggingConfiguration.AllTargets.OfType<TargetWithLayout>())
{
    string layoutString = target.Layout.ToString();
    Console.WriteLine(layoutString);
}