2010-04-07 16 views
51

Je suis à la recherche d'un outil d'analyse pour les fichiers journaux générés par les fichiers log4j. Je cherche quelque chose de plus avancé que grep? Qu'est-ce que vous utilisez pour l'analyse du fichier journal?Existe-t-il un analyseur de fichier journal pour les fichiers log4j?

Je cherche suivant les types de caractéristiques:

  • L'outil doit me dire combien de temps une déclaration de journal donné ou une trace de la pile est produite, de préférence avec le soutien de certains types de modèles (par exemple le nombre. des instructions de journal correspondant à 'Utilisateur [az] * connecté').
  • Les ruptures par niveau de journal (combien de lignes INFO, DEBUG) et par classe qui a initié le message de journal seraient agréables.
  • Répartition par date (nombre d'instructions de consignation dans une période donnée)
  • Quelles sont les lignes de journal communes?
  • Prise en charge de plusieurs fichiers depuis que je suis en utilisant journal roulant
  • analyse de Hot spot: trouver s'il y a une certaine période de temps où il y a nombre anormalement élevé de déclarations de journaux
  • soit en ligne de commande ou GUI sont très bien
  • Open Source est préféré, mais je suis également intéressé par les offres commerciales

Ma configuration log4j utilise org.apache.log4j.PatternLayout avec motif %d %p %c - %m%n mais qui pourrait être adapté pour l'outil d'analyse.

+0

Possible copie de http://stackoverflow.com/questions/144807/java-log-viewer – Vadzim

Répondre

13

(disclaimer: Je suis l'un des développeurs contribuant à Chainsaw V2)

Chainsaw V2 peut fournir certaines des fonctionnalités que vous cherchez à travers son soutien à des expressions personnalisées et la possibilité d'utiliser ces expressions à coloriser , rechercher et filtrer les événements.

Vous pouvez charger plusieurs fichiers journaux dans Chainsaw (par défaut, tous les événements d'un fichier journal sont placés dans un onglet spécifique au fichier journal). Vous pouvez également définir un 'panneau d'expression personnalisé' qui regroupera les événements de tous les onglets dans un nouvel onglet correspondant à une expression que vous avez fournie. Vous pouvez utiliser l'expression 'NIVEAU> = WARN' pour collecter tous les avertissements. , erreur & messages irrécupérables à partir de n'importe quel fichier journal dans une seule vue.

Quelques exemples d'expressions qui pourraient être utilisés pour coloriser, rechercher ou filtrer les événements:

  • msg comme l'utilisateur [a-z] * connectés '
  • msg ~ = login || msg = ~
  • dconnecter niveau> INFO
  • exception existe
  • horodatage < = '2010/04/06 15:05:35'

La seule façon d'obtenir 'compte' est actuellement définissez une expression dans le champ "focus" (le nombre d'événements correspondant à l'expression s'affichera dans la barre d'état). L'une des fonctionnalités utiles ajoutée à la prochaine version est une barre cliquable à droite de la table (similaire à la barre d'Eclipse ou d'Idea indiquant des indications d'erreur de syntaxe) qui affichera la règle de couleur et l'expression recherchée pour le fichier journal entier. .

Lorsque la prochaine version de Chainsaw V2 sortira, j'espère que vous lui donnerez un tour - c'est Open Source, gratuit, et nous sommes toujours intéressés par les suggestions & commentaires.

+1

Est-ce que la tronçonneuse fonctionne sans XMLLayout? Avec PatternLayout normal? –

+0

Oui, en utilisant LogFilePatternReceiver. Vous pouvez trouver javadoc depuis le menu d'aide de Chainsaw, et un exemple de fichier de configuration sur l'onglet Bienvenue (le bouton de configuration du récepteur de l'exemple de vue). Le 'LogFormat' pour votre modèle est: TIMESTAMP NIVEAU Logger - MESSAGE Vous pouvez également utiliser VFSLogFilePatternReceiver, qui vous donne accès aux systèmes de fichiers Jakarta Commons-VFS (fichiers queue sur ssh, etc.). Je suggère d'utiliser le récepteur VFS, (tailing est plus fiable) - il suffit d'ajouter les jars nécessaires (vfs, jsch, commons logging, etc) dans le dossier $ user/.chainsaw/plugins ou à votre classpath). – Scott

+0

La nuit dernière, j'ai ajouté le nombre de correspondances de recherche à la barre d'état, ce qui peut vous être utile (vous pouvez désormais obtenir des comptes via le filtrage et la recherche, dans la barre d'état). – Scott

2

Jetez un oeil à Apache Chainsaw http://logging.apache.org/chainsaw/index.html pour vos besoins

+1

Je cherche quelque chose de peu plus élevé que tronçonneuse. Il s'agit essentiellement d'un visualisateur de fichiers journaux glorifié. –

9

Je vous suggère Splunk. Il permet une recherche rapide, semblable à Google, sur plusieurs lots (téraoctets) de journaux, est facile à filtrer (par exemple par niveau de journalisation ou date), facilite la corrélation avec les transactions de plusieurs événements de journaux associés, etc. Version téléchargeable gratuite tant que vous indexez moins de 500 Mo de journaux par jour.

+0

Cela semble prometteur. Une idée sur les prix? –

+4

Il existe une version gratuite qui gère l'indexation de 500 Mo par jour de journaux. Si vous consignez plus de 500 Mo/jour, Splunk n'est pas bon marché (des milliers de dollars), mais la plupart des utilisateurs qui enregistrent autant de données chaque jour utilisent généralement un site important et coûteux, ce qui réduit les coûts. –

1

esprit d'arbre Insight est également utile Open Source Log outil d'analyse

http://sourceforge.net/projects/mindtreeinsight

+1

Soyez prudent lors du téléchargement. Sophos vient de signaler qu'il s'agissait d'un virus/programme malveillant. Je ne sais pas si c'est correct, mais je l'ai enlevé immédiatement, juste pour être sûr ... – Bhaskar

2

Vous peut essayer LogSaw, c'est un open source e logiciel basé sur Eclipse et qui est actif en ce moment ...

1

J'ai créé un outil personnalisé pour que: https://plus.google.com/u/0/102275357970232913798/posts/Fsu6qftH2ja

Alfa est un outil graphique pour les fichiers journaux de analizing. Habituellement, vous êtes obligé de rechercher des données en utilisant des éditeurs. Vous ouvrez un journal, appuyez sur Ctrl-F et le bouton "Suivant" encore et encore, puis recharger le fichier tel qu'il a été modifié, et répétez la recherche. Alfa mappe un fichier journal à une base de données vous permettant d'utiliser des requêtes SQL standard pour obtenir des données sans aucune action superflue.

2

pourrait venir un peu en retard, mais tout cela ne LogMX choses, et est très actif depuis de nombreuses années. Ce n'est pas open-source mais c'est puissant même si ça ne le semble pas!