Il miglior formato XML per gli eventi di registro in termini di supporto degli strumenti per il data mining e la visualizzazione?

StackOverflow https://stackoverflow.com/questions/465329

Domanda

Vogliamo essere in grado di creare file di registro dalla nostra applicazione Java, che è adatta per l'elaborazione successiva da parte di strumenti per aiutare a investigare i bug e raccogliere statistiche sulle prestazioni.

Attualmente utilizziamo i tradizionali elementi di registro che possono essere o meno appiattiti in forma di testo e aggiunti a un file di registro, ma questo funziona meglio per piccole quantità di informazioni lette da un essere umano.

Dopo un'attenta considerazione, la scommessa migliore è stata quella di archiviare gli eventi di registro come frammenti XML in file di testo (che vengono quindi trattati come qualsiasi altro file di registro) e quindi scaricarli sulla macchina con lo strumento appropriato per la post-elaborazione.

Mi piacerebbe utilizzare un formato XML il più ampiamente supportato possibile, e ora sono nella sezione "ricerca-quindi-prendere-decisione"; fase. Gradirei qualsiasi aiuto sia in termini di formato che di strumenti XML e sarei felice di scrivere il codice colla per ottenere ciò di cui ho bisogno.

Quello che ho trovato finora:

log4j Formato XML: supportato da motosega e Vigilog. Formato XML Lilith: supportato da Lilith

Strumenti non investigati:

Microsoft Log Parser: a quanto pare supporta XML. Visualizzatore log OS X:

inoltre ci sono molti strumenti su http: // www. loganalysis.org/sections/parsing/generic-log-parsers/

Qualche suggerimento?

È stato utile?

Soluzione 5

Sembra che il visualizzatore di log di Lilith contenga un formato XML adatto per gestire le funzionalità extra disponibili nel logback e non solo le cose log4j.

È - per ora - la migliore scommessa finora :)


Ho adattato la classe xmllayout log4j al logback, che funziona con la motosega.


Dato che non sono stato in grado di trovare un visualizzatore di log adatto in grado di visualizzare le informazioni sugli eventi (invece di presentare tutti gli eventi in una tabella), per ora ho deciso di creare un layout XML molto conciso contenente informazioni di analisi della macchina basate sul sopra il quale può quindi essere postelaborato da Microsoft LogParser in qualsiasi formato di cui ho bisogno.

Altri suggerimenti

Sfortunatamente, non posso darti la risposta che stai cercando, ma vorrei avvisarti di qualcosa da considerare quando accedi a XML. Ad esempio:

<log>
 <msg level="info">I'm a log message</msg>
 <msg level="info">I'm another message</msg>
 <!-- maybe you won't even get here -->
 <msg level="fatal">My server just ate a flaming death

Nel frammento sopra di un potenziale registro XML puoi vedere il più grande svantaggio della registrazione in XML. Quando si verifica un errore catastrofico, il formato del registro viene interrotto perché richiede la chiusura dei tag. Tuttavia, se si utilizza un programma che analizza l'output del registro principale, questo non dovrebbe rappresentare un problema eccessivo.

Se stai definendo il tuo file di log XML da scrivere, non devi preoccuparti di avere un tag di chiusura e apertura per produrre un XML valido. La risposta di Elia è corretta in quanto si ha il problema se si desidera creare un documento XML, ma non è necessario immediatamente. Lo standard W3 definisce anche XML Entità (vedere la sezione 4.3 della specifica XML 1.0 del W3, seconda edizione, che purtroppo non posso collegare a te perché non ho abbastanza punti), che sarebbe più adatto per un continuo accodamento in stile log a un file senza riscriverne parti. È quindi possibile creare un documento wrapper XML di riferimento se è necessario lavorare con un documento XML effettivo anziché un'entità XML (consultare http://www.perlmonks.org/?node_id=217788#217797 per un esempio)

Una delle cose belle di log4j è che offre buone possibilità per personalizzare i formati di registro e dove sono scritti.

Quindi, invece di scegliere un formato di file di registro, sceglierei una libreria di registrazione che consenta di cambiare il formato e consenta anche di ottenere il registro direttamente in qualche programma.

Ti consiglio di prendere in considerazione logback-access per eventi.

A parte questo, qualsiasi cosa utilizzi JMX, poiché è stata creata per corrispondere al set di funzionalità di SNMP.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top