c# - NLog,如何在记录 ERROR 及更高版本时执行代码?
问题描述
我对 NLog 很陌生,我想在日志完成后执行一些代码。
基本上,我得到了一个RichTextBoxTarget
. RichTextBox
默认情况下是隐藏的。我想在错误日志或更高版本完成时显示它。
如果可能的话,我怎么能这样做?
解决方案
听起来你想让 2 个目标监听事件:
- RichTextBox-Target 用于捕获错误窗口中的所有事件。
- MethodCall-Target 用于对错误事件做出反应并显示错误窗口。
所以诀窍就是设置两个目标:
<nlog>
<targets>
<target name="richtext" xsi:type="RichTextBox" />
<target name="showrichtext" xsi:type="MethodCall" className="SomeNamespace.MyClass, MyAssembly" methodName="LogMethod" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="richtext" />
<logger name="*" minlevel="Error" writeTo="showrichtext" />
</rules>
</nlog>
并实现一个合适的静态方法供 MethodCall-Target 调用。
推荐阅读
- powershell - 创建一个完全由每个字符 18 个组成的密码文件
- r - 按组翻转顺序行列号并在 r 中蛇形排列矩阵
- php - 断言 1 与预期 6 匹配失败
- java - Selenium 不会通过 xpath 找到元素
- flutter - 如何对三个值执行查询,其中两个值包含 Cloud Firestore 中的范围(cloud_firestore:^0.13.4+2)
- sql - 计算多个类似模式并按日期汇总
- c++ - 将 std::get 作为参数传递给函数的函数对象
- date - 如何在 Google 表格中将 HTTP 标头日期转换为日期?
- java - 如何修复错误以便我可以使用插入排序
- java - 如何结合java嵌套列表和sum特定变量