"EventSourceException" 每个日志都没有详细信息,但日志本身仍然存在
"EventSourceException" with no details on every log, but the log itself still comes through
所以我正在使用 SLAB,并且我有一个注销到数据库的数据库侦听器。我在事件源上使用单一方法进行测试。我遇到的问题是日志正按我想要的方式插入数据库,但在每次输入之前我也会收到异常日志
在我的输出 window 中,它说的完全一样,"EventSourceException"。我很难弄清楚异常是什么,更不用说如何修复它了。
这里是事件源方法:
[Event(2, Message = "ACCESS_ADMIN",
Level = EventLevel.LogAlways,
Keywords = Keywords.AdminAccess)]
public void LogAdminAccess(string userInfo, string resource, string clientIpAddress, bool succeeded)
{
SetCurrentThreadActivityId(GetNewActivityId());
WriteEventWithRelatedActivityId(2, GetRequestId(), userInfo, resource, clientIpAddress, succeeded);
}
侦听器是这样初始化的,inproc:
var dbSemanticLogListener = SqlDatabaseLog.CreateListener(
"MyComponent",
PayliteRegistry.MainDatabaseConnectionString);
dbSemanticLogListener.EnableEvents(
AprivaPciAuditEventSource.Log,
EventLevel.LogAlways,
MyEnum.Keywords.AccountModified |
MyEnum.Keywords.AdminAccess |
MyEnum.Keywords.DatabaseAccess |
MyEnum.Keywords.ApplicationStateChange);
以及对记录器的调用:
MyLoggerClass.Log.LogAdminAccess(
userInfo,
request.RequestUri.AbsolutePath,
request.GetClientIpAddress(),
true);
关于问题可能是什么或至少如何得到抛出的实际异常的任何想法?
其他未显示的位
- 此 EventSource class 已密封
- 我已经检查并验证方法
GetNewActivityId()
和 GetRequestId()
没有抛出异常
- 当执行
WriteEventWithRelatedActivityId(...
时,异常出现在输出 window 中,但异常没有冒泡;它似乎在基础 class. 中处理
事实证明,
- 我将相关的 activity ID 用于其他目的
- 为了使其工作,您必须在事件属性中指定一个 EventOpCode。
所以我正在使用 SLAB,并且我有一个注销到数据库的数据库侦听器。我在事件源上使用单一方法进行测试。我遇到的问题是日志正按我想要的方式插入数据库,但在每次输入之前我也会收到异常日志
这里是事件源方法:
[Event(2, Message = "ACCESS_ADMIN",
Level = EventLevel.LogAlways,
Keywords = Keywords.AdminAccess)]
public void LogAdminAccess(string userInfo, string resource, string clientIpAddress, bool succeeded)
{
SetCurrentThreadActivityId(GetNewActivityId());
WriteEventWithRelatedActivityId(2, GetRequestId(), userInfo, resource, clientIpAddress, succeeded);
}
侦听器是这样初始化的,inproc:
var dbSemanticLogListener = SqlDatabaseLog.CreateListener(
"MyComponent",
PayliteRegistry.MainDatabaseConnectionString);
dbSemanticLogListener.EnableEvents(
AprivaPciAuditEventSource.Log,
EventLevel.LogAlways,
MyEnum.Keywords.AccountModified |
MyEnum.Keywords.AdminAccess |
MyEnum.Keywords.DatabaseAccess |
MyEnum.Keywords.ApplicationStateChange);
以及对记录器的调用:
MyLoggerClass.Log.LogAdminAccess(
userInfo,
request.RequestUri.AbsolutePath,
request.GetClientIpAddress(),
true);
关于问题可能是什么或至少如何得到抛出的实际异常的任何想法?
其他未显示的位
- 此 EventSource class 已密封
- 我已经检查并验证方法
GetNewActivityId()
和GetRequestId()
没有抛出异常 - 当执行
WriteEventWithRelatedActivityId(...
时,异常出现在输出 window 中,但异常没有冒泡;它似乎在基础 class. 中处理
事实证明,
- 我将相关的 activity ID 用于其他目的
- 为了使其工作,您必须在事件属性中指定一个 EventOpCode。