En varias de las aplicaciones de nuestra empresa, utilizamos un registrador personalizado. Es bastante robusto, aunque podemos reemplazarlo con algo como NLog en el futuro. Una de las tareas del registrador es registrar cualquier excepción encontrada en la aplicación.
Una preocupación que siempre tuve es que el manejo de excepciones dentro del registrador permite una falla silenciosa. Es decir, si el registro no está escrito para una excepción dada (debido a un error en el registrador), ¿cómo debo manejarlo y (de alguna manera) registrar la excepción en el registrador ?
Digamos que la función WriteLog produce una excepción. ¿Debería intentar llamar a la función varias veces o hasta que no se produzca la excepción? ¿Debería tratar de escribir la excepción lanzada con el registrador (lo que probablemente resultaría en excepciones hasta el final ...)? He tenido la suerte de no encontrarme con esta situación, excepto cuando implementamos el registrador personalizado por primera vez. Por otro lado, no tengo forma de saber en este momento si el registrador no ha podido registrar las excepciones de la aplicación (debido a sus propias excepciones).
He intentado buscar en línea y en algunos sitios de SE, pero hasta ahora ha sido infructuoso ya que todas las publicaciones tratan errores en un registrador (pero no posibles excepciones y cómo registrarlos) o con excepciones fuera del registrador.
stderr
que su medio de salida ha fallado o que sucedió lo "imposible".