Ho trovato una libreria molto buona per l'analisi dei file CUE. Ma quando ho iniziato a leggere il suo codice sorgente, mi sono reso conto che è quasi illeggibile:Come sapere quando ci sono troppi messaggi di registrazione?
public void setParent(final CueSheet parent) {
FileData.logger.entering(FileData.class.getCanonicalName(), "setParent(CueSheet)", parent);
this.parent = parent;
FileData.logger.exiting(FileData.class.getCanonicalName(), "setParent(CueSheet)");
}
ogni metodo ha logger.entering() e logger.exiting) messaggi (. Non è troppo?
C'è un'altra libreria java per l'analisi dei tag audio. Aveva anche 15 messaggi di registro per ogni file letto. E 'stato fastidioso quindi ho commentato ogni chiamata al logger. E la libreria è diventata due volte più veloce, perché hanno utilizzato un sacco di concatenazione di stringhe per i messaggi di registro.
Quindi la domanda è: devo davvero registrare tutto, anche se non è un'applicazione enterprise di grandi dimensioni? Perché queste librerie ovviamente non hanno bisogno di alcuna registrazione, tranne che per i messaggi di errore. E la mia esperienza mostra che i logger sono strumenti terribili per il debug. Perché dovrei usarlo?
La registrazione è uno strumento fantastico per il debug! È uno strumento essenziale quando è necessario risolvere un problema che non è possibile riprodurre facilmente (o forse affatto). Non tutti i problemi si verificano in punti "di errore" ben definiti in cui è possibile registrare il fatto che qualcosa è andato storto, insieme a tutti i dettagli. A volte i problemi si verificano in luoghi imprevisti, quindi non si dispone di codice di gestione degli errori per registrare tutti i dettagli; o sono il risultato di uno stato incoerente e le cose semplicemente non funzionano abbastanza bene. Esempi di domini in cui ciò può essere importante nella mia esperienza: integrazione del sistema telefonico, elaborazione e-mail. –
O quando si ha a che fare con un sistema grande e distribuito. Se non disponevi di log con data e ora, come gestiresti un errore nei sistemi fisici? – avgvstvs