Nlog-我可以通过Web.Nlog XML进行数据库记录的参数有哪些

问题描述

基本上我想做的是在我的数据库中写入记录器名称

<rules><logger name="**LogEntry**" minlevel="Trace" writeto="apiLog" final="true" /></rules>

这是我用来调用SPROC写入数据库代码

<!-- 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。您可以在此处单击布局渲染器以获取其选项。