In einigen Anwendungen unseres Unternehmens verwenden wir einen benutzerdefinierten Logger. Es ist ziemlich robust, obwohl wir es in Zukunft vielleicht durch so etwas wie NLog ersetzen werden. Eine der Aufgaben des Protokollierers besteht darin, alle in der Anwendung aufgetretenen Ausnahmen zu protokollieren.
Eine Sorge, die ich immer hatte, ist, dass die Ausnahmebehandlung im Logger einen stillen Fehler ermöglicht. Das heißt, wenn das Protokoll für eine bestimmte Ausnahme nicht geschrieben wurde (aufgrund eines Fehlers im Protokoll), wie soll ich damit umgehen und die Ausnahme (irgendwie) im Protokoll selbst protokollieren ?
Angenommen, die WriteLog-Funktion löst eine Ausnahme aus. Sollte ich mehrmals versuchen, die Funktion aufzurufen, oder bis die Ausnahme nicht mehr geworfen wird? Sollte ich versuchen, die ausgelöste Ausnahme mit dem Logger zu schreiben (was wahrscheinlich nur zu Ausnahmen bis zum Ende führen würde ...)? Ich hatte das Glück, dass ich auf diese Situation nur stieß, als wir den benutzerdefinierten Logger zum ersten Mal implementierten. Andererseits habe ich im Moment keine Möglichkeit zu wissen, ob der Logger Anwendungsausnahmen (aufgrund seiner eigenen Ausnahmen) nicht protokollieren konnte.
Ich habe versucht, online und auf einigen SE-Websites zu suchen, aber es war bisher erfolglos, da alle Posts Fehler in einem Protokoll (aber keine möglichen Ausnahmen und wie man sie protokolliert) oder Ausnahmen außerhalb des Protokolls behandeln.
stderr
dass Ihr Ausgabemedium ausgefallen ist oder dass das "Unmögliche" geschehen ist.