2011-09-16 13 views
5

Attualmente sto affrontando il problema di aggregare diversi file di registro da un sistema distribuito.La registrazione a un messaggio è una buona idea?

Ma poiché la maggior parte delle applicazioni sono applicazioni Java che utilizzano sia log4j che tutte utilizzano JMS, ho pensato di accedere direttamente a una coda di messaggi anziché copiare i singoli file di registro.

Questa è una buona idea o può ritorcersi contro in qualche modo?

+0

Dipende da quantità, dimensioni e frequenza del file di registro. Ad esempio: se sei sicuro che i registri non uccideranno il tuo server, allora fallo. – c69

risposta

2

Un paio di idee sciolti:

  • performance è stata già menzionata — accendere le informazioni dettagliate di debug può rivelarsi impossibile in ambiente di produzione (se si scopre avete bisogno di tracciare un errore di profondamente nascosta),
  • si perde il comportamento di roll-over di log4j, è necessario implementarlo da solo nel punto in cui si raccolgono le dichiarazioni di registro,
  • aggiungere informazioni di processo/macchina specifiche per registrare le righe (a meno che non sia evidente altrimenti quale applicazione ha emesso quale riga di registro),
  • considerare l'aggiunta di un contatore incrementale di linee di log in ogni applicazione se è assolutamente necessario conoscere l'ordine in cui le dichiarazioni di registro sono stati emessi — messaggio di ordine consegna non è garantito e timestamp in log4j è solo a incrementi in millisecondi,
  • analisi efficiente di un file così voluminoso può richiedere visualizzatori di log buoni (e pagati, o anche personalizzati).
1

Se volessi farlo, collegherei ad entrambi. In questo modo, se devi risolvere i problemi relativi alla registrazione JMS, hai un log log4j. Basta configurare l'appender di log4j per mantenere i file di registro piccoli poiché si utilizza principalmente il registro JMS.

Problemi correlati