"EventSourceException" без подробностей о каждом журнале, но сам журнал все еще проходит через
Итак, я использую SLAB, и у меня есть слушатель базы данных, выходящий из базы данных. Я тестирую с одним методом на источнике событий. У меня проблема в том, что журнал вставляется в базу данных так, как я этого хочу, но я также получаю журнал исключений перед каждой записью
В моем окне вывода он говорит то же самое, "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 запечатан
- Я прошел и убедился, что методы
GetNewActivityId()
а такжеGetRequestId()
не бросаем исключения - Исключение появляется в окне вывода, когда
WriteEventWithRelatedActivityId(...
выполняется, но исключение не всплывает; кажется, что он обрабатывается в базовом классе.
1 ответ
Решение
Оказывается, что
- Я использую идентификаторы связанных действий для чего-то другого, чем они были предназначены
- Чтобы это работало, вы должны указать EventOpCode в атрибуте события.