In molte applicazioni della nostra azienda, utilizziamo un logger personalizzato. È abbastanza robusto, anche se in futuro potremmo sostituirlo con qualcosa come NLog. Una delle attività del logger è quella di registrare eventuali eccezioni riscontrate nell'applicazione.
Una preoccupazione che ho sempre avuto è che la gestione delle eccezioni nel logger consente un errore silenzioso. Cioè, se il registro non è scritto per una determinata eccezione (a causa di un errore nel logger), come devo gestirlo e (in qualche modo) registrare l'eccezione nel logger stesso ?
Diciamo che la funzione WriteLog genera un'eccezione. Dovrei provare a chiamare la funzione un numero di volte o fino a quando non viene generata l'eccezione? Dovrei provare a scrivere l'eccezione generata con il logger (che probabilmente comporterebbe eccezioni fino in fondo ...)? Ho avuto la fortuna di non incontrare questa situazione tranne quando stavamo implementando il logger personalizzato. D'altra parte, non ho modo di sapere al momento se il logger non è riuscito a registrare le eccezioni dell'applicazione (a causa delle sue eccezioni).
Ho provato a cercare online e su alcuni siti SE, ma è stato finora inutile poiché tutti i post trattano errori in un logger (ma non potenziali eccezioni e come registrarli) o eccezioni al di fuori del logger.
stderr
che il supporto di output non è riuscito o che è successo "impossibile".