Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Возможно, вам было бы проще с NLog. В нем есть опция асинхронных контекстов — см. тут.
Алгоритм действий:
Плюс моего подхода в том, что он позволяет фильтровать события даже из 3rd party библиотек.
<nlog>
<rules>
<!-- Логируем события любого уровня от ValuesController -->
<logger name="ValuesController" writeTo="traceFile" minlevel="Trace" />
<!-- Детальные логи по ошибкам -->
<logger name="*" writeTo="email,errorFile" minlevel="Warn" />
<!-- Общие логи по работе системы -->
<logger name="*" writeTo="commonFile" minlevel="Info" />
</rules>
</nlog>
Отдельный уровень логирования для каждого запроса