如何将扩展属性添加到企业库跟踪程序
本文关键字:企业库 跟踪 程序 添加 属性 扩展 | 更新日期: 2023-09-27 18:33:49
我正在使用Enterprise Library 6在 ASP.NET MVC 4 Web应用程序上实现日志记录和用户跟踪。我正在使用Tracers来实现这一点,并且我正在将LogEntrys写入数据库。这工作正常,但现在,我想在"扩展属性"字段中向跟踪器条目添加一些额外的信息。我可以在普通的 LogEntry 对象上做到这一点,但我似乎不能在跟踪器上做到这一点。有什么办法可以做到这一点吗?
这是我正在做的事情:
using(traceManager.StartTrace(LogCategory.UserTracing.ToString(), activityId))
{
Doit();
}
即使我将跟踪器分配给变量,也无法对它正在写入的日志条目产生任何影响。我也检查了 TraceManager 类,但它也与此无关。
我想要实现的是以下内容:
LogEntry e = new LogEntry();
e.ExtendedProperties.Add("key", "value");
提前感谢,
罗伯特
Tracer
类不会公开创建的LogEntry
,因此无法实现您想要的现成内容。
添加扩展属性支持的最简单方法可能是获取Tracer
的源代码,并创建自己的接受扩展属性的自定义实现。 您还可以创建使用自定义Tracer
的自定义TraceManager
。
另请注意,现成的FormattedDatabaseTraceListener
不会记录扩展属性,因此您需要创建自定义跟踪侦听器来执行此操作(您可以在企业库示例项目中找到一种方法)。