如何缩写记录器名称?

How to abbreviete logger name?

有没有办法在目标布局中缩写记录器名称?我想缩短长记录器名称,例如。而不是 com.logback.Foobar 我想要 c.l.Fobar.

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

这不是内置于 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

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