Was ist der beste Ansatz für die Protokollierung? [geschlossen

Meine (lokale, Windows / Mono) App protokolliert wichtige Ereignisse in einer Textdatei. Im Falle eines plötzlichen Absturzes / Ausfalls / erzwungenen Ausstiegs sollten keine Daten (soweit möglich) ungeschrieben bleiben. Daher verwende ich derzeit einen einfachen Ansatz zum Anhängen an eine Textdatei:

Public Shared Sub LogAppEvent(ByVal EventData As String)
    Dim Config As ConfigHandler = ConfigHandler.GetSingleton()
    Dim AppLog As New IO.StreamWriter(Config.GetUserFilesRootDir() & ConfigOptions.AppLogName, True)
    AppLog.WriteLine(String.Format("[{0}] {1}", Date.Now.ToString(), EventData))
    AppLog.Close()
End Sub

Dies ist höchst suboptimal, aber Protokollereignisse sind ziemlich selten. Würden Sie einen Umzug in das @ empfehleSystem.Diagnostics Protokollierungsklasse?

Oder schlagen Sie vielleicht eine andere Lösung vor?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage