ASP NET core Serilog: разные файлы для журналов запросов, ответов и исключений

Я использую Serilog для ведения журнала и не могу различать разные типы журналов в разных файлах.

Мои требования: -

1) Request.log (Daily Rotation)
2) Response.log (Daily Rotation)
3) Exception.log (Daily Rotation)

Один из методов - создать промежуточное ПО для запросов и ответов и файл по умолчанию для журнала исключений.

Есть ли другой способ, которым я могу выполнить следующую задачу?


person shivendra pratap singh    schedule 14.06.2017    source источник


Ответы (1)


Более распространенный подход - иметь один файл.

Причина в том, что вам легче сопоставлять записи журнала. Как вы предлагаете, один входящий запрос проходит через ваш конвейер и терпит неудачу (кто-то бросает) и пишет, что ответ клиенту будет иметь связанные сообщения в 3 разных файлах. Это затруднит отладку.

Вы можете использовать идентификатор запроса и установить его для области / контекста этого запроса. Таким образом вы сможете пополнять записи в журнале. Каждая запись журнала, связанная с этим запросом (запрос / ответ / ошибки), будет иметь один и тот же RequestId. Таким образом, вы можете увидеть, какой запрос вызвал это сообщение об ошибке.

person Bruno Garcia    schedule 14.06.2017