【发布时间】:2019-08-09 10:26:26
【问题描述】:
我想记录请求持续时间。为此,我有一个中间件,在OnActionExecuted 上,我将经过的时间分配给一个变量,并尝试使用Custom Layout Rendere through a lambda function 注册它
requestDuration = _stopWatch.ElapsedMilliseconds;
LayoutRenderer.Register("requestDuration", logEvent => requestDuration);
在我的 nlog.config 中,我有以下内容
<column name ="RequestDuration" layout="${requestDuration}" quoting="Nothing"/>
NLog 抱怨说这将被忽略:
Error Error parsing layout requestDuration will be ignored. Exception: System.ArgumentException: LayoutRenderer cannot be found: 'requestDuration'
at NLog.Config.Factory`2.CreateInstance(String itemName)
at NLog.Layouts.LayoutParser.GetLayoutRenderer(ConfigurationItemFactory configurationItemFactory, String name)
我是否在错误的地方注册了 layoutRenderer?
请注意,我试图有一个请求持续时间的列,而不是简单地在日志消息上写下那个时间
【问题讨论】:
标签: c# asp.net-core nlog