У меня есть требование, в котором я хотел бы записывать журналы в файл , если регистрация базы данных не удалась . Идея здесь состоит в том, чтобы снова вставить эти записи обратно в базу данных из файла, запустив некоторый пакет.
Я использую подход промежуточного программного обеспечения для регистрации запросов / ответов / исключений в базе данных.
public async Task InvokeAsync(HttpContext context)
{
//execute request and get response
try{
_logger.LogDebug("{database logging template}", log.Request, log.Response, log.Exception);
}
catch(Exception ex){
//Log to file ---> _logger.LogDebug();
}
}
Моя конфигурация serilog выглядит следующим образом журналы в файле.
Я могу использовать .AuditTo
в serilog, но это сделает ведение журнала синхронным и, следовательно, заблокирует ответ HTTP.
Есть предложения?