我确实创建了一个自定义db-target来登录我的数据库。它是一个非常简单的目标,它只会覆盖Write
方法在我的数据库中创建一个日志条目。
这很好,所有信息都由LogEventInfo
传递。
但是现在我要记录threadId。据我所知,NLog有布局参数${threadid}
这样做。但我不想使用布局渲染器写入我的数据库。
是否可以向LogEventInfo
询问threadId
?如果是的话:怎么样?如果否:NLog在哪里获得此ID?
答案 0 :(得分:2)
您可以使用threadId布局创建属性(首选)或变量,并渲染该属性。
e.g。
Layout threadIdLayout = "${threadid}"; //for performance, as static property on the custom class is recommend
var threadId = threadIdLayout.Render(logEvent);