Dans plusieurs applications de notre entreprise, nous utilisons un enregistreur personnalisé. Il est assez robuste, bien que nous puissions le remplacer par quelque chose comme NLog à l'avenir. L'une des tâches de l'enregistreur consiste à consigner toutes les exceptions rencontrées dans l'application.
Une préoccupation que j'ai toujours eue est que la gestion des exceptions dans l'enregistreur permet une panne silencieuse. Autrement dit, si le journal n'est pas écrit pour une exception donnée (en raison d'une erreur dans l'enregistreur), comment dois-je le gérer et (en quelque sorte) enregistrer l'exception dans l'enregistreur lui - même ?
Disons que la fonction WriteLog lève une exception. Dois-je essayer d'appeler la fonction un certain nombre de fois ou jusqu'à ce que l'exception ne soit pas levée? Dois-je essayer d'écrire l'exception levée avec l'enregistreur (ce qui entraînerait probablement des exceptions tout le long ...)? J'ai eu la chance de ne pas rencontrer cette situation, sauf lors de la première mise en œuvre de l'enregistreur personnalisé. D'un autre côté, je n'ai aucun moyen de savoir pour le moment si l'enregistreur n'a pas réussi à enregistrer les exceptions d'application (en raison de ses propres exceptions).
J'ai essayé de rechercher en ligne et sur certains sites SE, mais jusqu'à présent, cela n'a pas porté ses fruits puisque tous les messages traitent des erreurs dans un enregistreur (mais pas des exceptions potentielles et comment les enregistrer) ou des exceptions en dehors de l'enregistreur.
stderr
que votre support de sortie a échoué ou que «l'impossible» s'est produit.