xml - 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 参数以从我的规则成员中提取记录器名称属性?
此外,是否有一个很好的来源列出了我可用于错误存储的所有参数布局?我指的是我的数据存储参考的这一部分:
<parameter name="@type" **layout="${exception:format=type}**" />
提前谢谢了!
解决方案
对于您可以使用的记录器名称${logger}
所有布局渲染器都列在这里:https ://nlog-project.org/config/?tab=layout-renderers 。您可以单击那里的布局渲染器以获取它们的选项。
推荐阅读
- numpy - 这种乘法是否存在隐式转换?
- laravel - Laravel 无法将字段更新为空
- performance - 如何对拥有大量用户的 PHP 网站进行负载测试?
- python-3.x - ERR_NAME_NOT_RESOLVED:Angular pod 未与 Kubernetes 中的 python 后端通信
- python - 格式化为 json 的 uWSGI 启动日志
- vb.net - 将窗体的所有者设置为控件,而不是窗体
- excel - Excel 结构化引用过滤表并生成列表
- javascript - 如何在 jQuery 中使用 array_key_exists() 和 ksort()?
- python - Django:通过 SQL 过滤,而不是 Python
- c# - 如何检查字符串是否是有效的子域