在异常日志记录中包含“应用程序名称”

时间:2013-03-31 07:57:14

标签: asp.net vb.net web-applications elmah error-logging

我正在Web应用程序中实现ELMAH的实现,该实现将异常记录到SQL Server。然而,这无关紧要。我的目标是在日志中包含应用程序名称,以便在检查错误报告时一目了然地轻松识别有问题的应用程序。我花了很长时间寻找解决方案。我在我的SQL Server连接字符串中包含了Application Name=[myApp],但这只能帮助我在SQL Server跟踪期间识别应用程序,而不是在我的实际错误记录中。

有人这样做过吗?以下是我的数据库中的日志记录示例。我想看到列出的应用程序名称。这恰好是表的ELMAH实现,但它也可以是具有相同字段的自定义表。

enter image description here

我认为这应该像向web.config或其他东西添加值一样简单,但我似乎无法找到任何类似的解决方案。我可能还应该注意到,我正在使用IIS 7.5和.NET 4.0,以防与它有任何关系。 :)

2 个答案:

答案 0 :(得分:0)

或许对this问题的回答会有所帮助......

PS。请勿查看已接受的答案,但请查看<errorLog>元素示例的后续行动...

答案 1 :(得分:0)

由于我的做法是始终为所有应用程序填写程序集信息,因此我选择从My.Application.Info.Title填充此字段,我只是想出了如何以编程方式访问。要在ELMAH中设置此字段,我会设置ApplicationName对象的SqlErrorLog值,如下所示:

Dim se As New Elmah.SqlErrorLog(ConnectionStrings("Elmah").ConnectionString)
se.ApplicationName = My.Application.Info.Title

可以通过打开项目属性来设置程序集信息 - &gt;应用程序选项卡 - &gt;单击装配信息... - &gt;设置“标题”值。

现在,当您为此对象调用Log函数时,它将创建一个包含应用程序名称的数据库条目。