问题描述
<rules><logger name="**LogEntry**" minlevel="Trace" writeto="apiLog" final="true" /></rules>
<!-- database target -->
<target name="apiLog"
xsi:type="Database"
connectionStringName="NLog"
commandText="exec dbo.InsertApiLog
@level,@name,@callSite,@type,@message,@stackTrace,@innerException,@additionalInfo">
<parameter name="@level" layout="${level}" />
<parameter name="@name" layout="${displayName}" />
<parameter name="@callSite" layout="${callsite}" />
<parameter name="@type" layout="${exception:format=type}" />
<parameter name="@message" layout="${exception:format=message}" />
<parameter name="@stackTrace" layout="${exception:format=stackTrace}" />
<parameter name="@innerException"
layout="${exception:format=:innerFormat=ShortType,Message,Method:MaxInnerExceptionLevel=1:InnerExceptionSeparator=}" />
<parameter name="@additionalInfo" layout="${message}" />
</target>
如何调整@name参数以从规则成员中获取记录器的 Name 属性?
此外,是否有一个很好的信息来源列出了所有可用于错误存储的参数布局?我指的是我的数据存储参考的这一部分:
<parameter name="@type" **layout="${exception:format=type}**" />
非常感谢!
解决方法
对于记录器名称,您可以使用${logger}
所有布局渲染器均在此处列出:https://nlog-project.org/config/?tab=layout-renderers。您可以在此处单击布局渲染器以获取其选项。