Dire che ho un'applicazione, e scrive (tra le altre cose) errori in un file di registro. È il primo posto in cui all'utente viene chiesto di andare e controllare se c'è stato un problema. Supponiamo anche che questa sia un'applicazione critica a cui non è consentito solo arrestarsi in modo anomalo.
Per amor di discussione, diremo anche che tutte le eccezioni vengono registrate. Sono sulla barca che dice che questa è una pessima idea, ma correremo con essa per il bene di questo problema immaginario.
Come dovrebbe l'applicazione gestire idealmente la situazione in cui non è completamente in grado di scrivere sul suo log? Dì a causa della mancanza di spazio su disco, del numero di handle di file esaurito o di un problema di autorizzazioni / accesso.
A seconda della ragione esatta, naturalmente, potrebbe essere in grado di risolvere parzialmente se stessa. Se non ci fosse spazio libero su disco, per esempio potrebbe essere ragionevole trascinare il log corrente per scrivere una riga che dice di non avere spazio sul disco, a scapito della perdita del contenuto del registro. Anche se questo è molto inutile se qualcosa di esterno sta mangiando spazio e si tradurrebbe solo in svuotamenti dei registri.
Potrebbe essere prudente accedere a un buffer interno, in modo che, una volta risolta la situazione, i dati non vadano persi, ma lasciati troppo a lungo questo semplicemente fa memoria sulla memoria.
Quindi, cosa ne pensi, come deve essere gestito un errore che notifica all'utente di un errore? Soprattutto con un occhio alle applicazioni headless / incustodite che normalmente venivano monitorate solo guardando i loro log.