如何abbreviete记录器名称?

时间:2019-03-20 21:12:56

标签: nlog

是否可以在目标的布局中缩写记录器名称?我想缩短长记录器名称,例如。而不是com.logback.Foobar,我想拥有c.l.Fobar

这在Java世界中很常见。例如logback具有这样的abbreviator

1 个答案:

答案 0 :(得分:0)

这不是NLog内置的,但是您可以轻松地添加它。

例如:

//Register ${abbr-loggername}
LayoutRenderer.Register("abbr-loggername", (logEvent) => todo.Abbr(logEvent.LoggerName));

请参见https://github.com/nlog/nlog/wiki/How-to-write-a-custom-layout-renderer

为此,您需要LoggerName对象中的LogEventInfo属性(请参见API docs