Meccanismi di registrazione centralizzati e decentralizzati

2

Ho lavorato a diversi tipi di applicazioni con meccanismi di registrazione centralizzati e decentralizzati.

Ritengo che il meccanismo di registrazione centralizzato sia utile per vedere il corretto flusso di codice e la tempistica delle esecuzioni durante il debug dei problemi. La maggior parte delle implementazioni avrà dimensioni di file fisse ridotte per restringere facilmente il problema. Ma se il numero di componenti è troppo alto all'interno del sistema, sento che la directory dei log si esaurirà con un numero enorme di file. È una buona idea impiegare meccanismi di registrazione decentralizzati (in base ai moduli) in tali situazioni? Quali sono i pro e i contro degli stessi?

    
posta sarat 26.07.2011 - 08:26
fonte

2 risposte

1

Una soluzione di registrazione deve essere progettata per rendere il più semplice possibile trovare la fonte dei problemi, fornendo allo stesso tempo la profondità necessaria per isolare e rintracciare i bug difficili da trovare.

La registrazione su un singolo file rende abbastanza facile comprendere l'intero sistema, ma può essere facilmente sommersa da troppi dettagli. La registrazione modulare riduce la quantità di rumore, in quanto è possibile esaminare indipendentemente ciascun modulo, ma rende più difficile comprendere il sistema completo. Questi sono due trade off.

Inoltre, anche il livello della registrazione ha un effetto. Se si effettua il logging solo al livello WARNING, ERROR o FATAL, un singolo log è molto più facile da capire, mentre se si effettua il logging a livello DEBUG, la registrazione modulare può avere più senso in quanto la quantità di dettagli che un registro di livello DEBUG può generare può essere schiacciante.

Anche se sembra che tu abbia incontrato i limiti della registrazione basata su file, forse sarebbe meglio accedere a un database. Non si menziona il framework di registrazione che si sta utilizzando (log4j, log4net), ma molti framework consentono di andare oltre la registrazione basata su file. Il vantaggio di accedere a un database è la possibilità di utilizzare query SQL per isolare le informazioni in un modo molto più granulare, quindi cercando in singoli file.

Inoltre potresti voler esaminare gli strumenti di visualizzazione della registrazione per il tuo particolare framework. Piuttosto, semplicemente aprendo un file nel blocco note, alcuni strumenti ti consentono di filtrare facilmente e ottenere una migliore comprensione di qualsiasi problema.

Per quanto riguarda le migliori pratiche, penso che sia chiaro, per piccole quantità di inizio della registrazione di un singolo file. Mentre quel file diventa una travolgente mossa verso un sistema modulare, e quando non è più sufficiente spostarsi su un sink di database.

    
risposta data 26.07.2011 - 22:24
fonte
2

Attualmente un disboscamento decentralizzato mi ha morso sul retro, dato che il numero di registri è cresciuto, la complessità degli errori è aumentata e improvvisamente quando si verifica un guasto si ottiene un'alluvione che solo 2 persone su questo pianeta possono interpretare e leggere - e questo è un dispositivo da vendere ai clienti che non ne hanno idea.

Quindi, aggrega i log e usa alcuni Event Event Correlator per ottenere l'essenza da essi. Con troppi registri su tutto il sistema, conoscerai ogni minimo dettaglio, ma perderai completamente la grande immagine.

    
risposta data 26.07.2011 - 23:06
fonte

Leggi altre domande sui tag