Как я могу сделать так, чтобы Miniprofiler просто вызывал метод журнала для сообщений профиля

Я создаю службу Windows.

Я пытаюсь иметь мини-профилировщик, перехватывать вызовы ado.net и передавать сообщения в систему ведения журнала моего приложения.

Все, что нужно сделать минипрофайлеру, это вызвать статический метод Log(string text).

Я просмотрел следующий пост и узнал, как перехватывать вызовы ado.net:

Использование MiniProfiler для прямых вызовов ADO.net

Кажется, что единственная нерешенная головоломка состоит в том, чтобы мини-профиль вызывал мой метод журнала. Как я могу это сделать?

Я прошел через сайт http://miniprofiler.com/, но документация минимальна.


person Allan Xu    schedule 16.11.2016    source источник


Ответы (1)


Вкратце: это не то, для чего MiniProfiler предназначен, потому что это не профилирование.

Однако вам повезло с тем, как здесь реализован MiniProfiler. Вы можете самостоятельно реализовать IDbProfiler, что просто вызывает регистратора. Есть только несколько методов. Вот реализация MiniProfiler.

Если ваша реализация просто вызывает ваш метод (методы) ведения журнала, вы можете повторно использовать все биты ADO.NET, созданные для MiniProfiler, следующим образом:

IDbProfiler logger = new YourLogger();
var conn = new SqlServerConnection(myConnectionString);
var profiledConn = new ProfiledDbConnection(cnn, logger);
// ...do stuff with profiledConn
person Nick Craver    schedule 11.06.2017