添加用于使用企业库记录数据的附加信息

本文关键字:信息 数据 记录 用于 企业库 添加 | 更新日期: 2023-09-27 18:21:31

我已经配置了企业库来将数据记录到数据库中,一切都很好。这就是当前日志信息的样子:

时间戳:2013年6月19日上午7:10:01

类别:eConnect异常

优先级:0

事件ID:100

严重性:错误

标题:企业库异常处理

机器:ISDC30517

应用程序域:/LM/W3SVC/23/ROOT4-130160992152908413

进程ID:8808

进程名称:C:''Program Files(x86)''IIS Express''iisexpress.exe

线程名称:

Win32线程ID:8952

扩展属性:

这是我在早上记录异常的代码:

public void LogException(Exception exception)
{
   ExceptionPolicy.HandleException(exception, "GeneralExceptionPolicy");
}

我为企业库生成数据库表以记录数据而运行的默认脚本为我提到的每一个新列的属性生成。

现在我也希望能够添加更多信息。目前,我正在考虑添加出现此异常的当前用户的用户名。

我找了很多,但似乎找不到能帮助我的东西。如何将其他信息添加到记录的消息中?

添加用于使用企业库记录数据的附加信息

您可以将附加信息添加到Exception.Data属性中。这些值将被添加到LogEntry的ExtendedProperties中。然后,您可以将格式化程序配置为在formattedMessage字符串中输出特定的扩展属性键。请参阅:异常。EntLib日志中缺少数据信息

这可能是最简单的方法,但信息会被隐藏在数据库表的字符串中。

另一种方法是将数据直接添加到数据库中。这将涉及对开箱即用数据库模式和存储过程的更改,以及创建自定义跟踪侦听器。您可以在企业库示例项目页面上找到两种不同的设计:

  • 带有自定义异常处理程序的扩展属性跟踪侦听器包含一个自定义跟踪侦听器,该侦听器将扩展属性记录到一个单独的扩展属性表中,该表允许写入所有扩展属性。

  • 自定义数据库跟踪侦听器示例使用CustomLogEntry将一些CustomData写入日志表上的自定义数据库列。