【发布时间】:2014-06-22 16:17:15
【问题描述】:
我们有一个 c# windows 服务失败,导致错误日志消息写入 windows 事件日志。错误消息包含异常信息,但被截断,使我们无法看到关键信息。
我们如何增加写入日志消息的数据,以便我们可以看到异常的完整堆栈跟踪?
这是我们目前在事件查看器中看到的。
<EventData>
<Data>Service cannot be started. System.ArgumentException: Keyword not supported: 'port'.
at System.Data.Common.DbConnectionOptions.ParseInternal(Hashtable parsetable, String connectionString, Boolean buildChain, Hashtable synonyms, Boolean firstKey)
at System.Data.Common.DbConnectionOptions..ctor(String connectionString, Hashtable synonyms, Boolean useOdbcRules)
at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous)
at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions) at System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key) at System.Data.SqlClient.SqlConnection.set_ConnectionString(String value)
at System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.<SetConnectionString>b__1a(DbConnection t...</Data>
</EventData>
</Event>
注意堆栈跟踪的结尾被“...”截断。
【问题讨论】:
-
你有没有想过如何获得这些异常的完整堆栈跟踪?我有同样的问题,这个未回答的问题是我能找到的唯一相关的谷歌结果!
-
不,我们必须实现自定义日志记录。
-
谢谢。我们自己也做过类似的事情。在这方面找不到谷歌结果真是太奇怪了!
标签: c# windows windows-services event-log