Objectif
L'objectif de cette application est de faciliter la lecture des logs produites par log4j.
Les moyens mis en oeuvre sont les suivants
- possibilité d'appliquer des filtres sur chaque champ de l'evenement de log
(categorie, niveau de log, thread, date, message).
Les filtres sont des expressions regulieres sur les champs texte ou un filtre "apres" sur la date de l'evenement
- presenter les fichiers de logs selon une vue tabulaire
- permettre de visualiser plusieurs fichiers de logs en même temps, les listes d'evenements de
chaque fichier sont alors fusionnées, triées par date et colorés selon leur fichier d'origine
Ceci est particulierement utile pour les applications multi process (par exemple TMC, avec
un serveur Web et un serveur EJB qui loggent dans des fichiers différents).
Pour tirer le meilleur parti de cette fonctionnalité il est souhaitable de propager un identifiant
de requete ou de session a chaque appel, et d'inclure cet identifiant dans le pattern de log via les MDC de log4j.
Prerequis pour utiliser cette application
les fichiers de logs a visualiser doivent respecter le pattern (log4j conversionPattern) suivant : %c;%p;%t;%d;%m%n
.
Il est possible bien sur de rajouter des parametres de mise en forme a ce pattern, par exemple %-80c;%-5p;%15.15t;%d;%m%n
est un pattern correct.
De meme, il est possible d'avoir un pattern plus sophistiqué, a condition que le debut du pattern soit %c;%p;%t;%d;
Trucs et astuces
Lorsque l'application est fermée son état est conservé (fichiers de log ouverts, etats des filtres,
couleurs choisies pour chaque fichier), et rechargé lors du démarrage suivant.
Il est possible de modifier les couleurs associées aux evenements de chaque fichier ouvert avec le menu Couleur
.
Les filtres de type texte (tous sauf la date) acceptent des expressions regulieres.
Ceci peut causer des comportements inattendus si l'on colle simplement la valeur d'un champ dans le filtre, car certains caracteres sont
des caracteres de controle dans les expressions (|[]()?*+. par exemple) et doivent etre echappés (avec un \)
En cliquant droit sur une cellule, sa valeur est utilisée pour le filtre associé a sa colonne
Support
Merci de contacter AT
Bugs Connus
Historique
9 Juin 2005
- Resolution d'une (grosse) fuite memoire
- Support de "configurations" : il est desormais possible de charger/sauver des configurations spécifiques de l'application.
Chaque configuration conserve la liste des fenetres ouvertes, leurs positions, ainsi que les logs visualisés dans chacune
7 Juin 2005
- Support du drag and drop pour ouvrir des fichiers de log
- Possibilité de "negationner" un filtre : c'est a dire selectionner tous les evenements SAUF ceux qui matchent le filtre
- Migration vers les swing pur (suppression de la dependance vers les composants graphiques Intellij)
- correction d'un DivideByZero quand on ouvre une url
1 Juin 2005
- fixé les tailles des colonnes de la table pour les colonnes priorite, date et thread
- diminution de l'utilisation memoire
- Ajout d'un composant montrant la memoire utilisee/disponible en bas de la fenetre
31 Mai 2005
- Le menu "Logs ouverts" liste les fichiers visualisés dans une fenetre donnee
- Possibilite de cacher un fichier d'une fenetre via le menu "Logs ouverts"
- Correction d'un petit bug sur le rechargement
30 Mai 2005
- Lors de la selection de plusieurs evenements dans la liste, tous les evenements sont affichés dans la vue texte
12 Mai 2005
- Ajout d'une barre de progres sur toutes les opérations de lecture de fichier
- Correction d'un bug sur le rechargement
11 Mai 2005
- Correction d'un bug corrompant les filtres quand on rentre un mauvais pattern
10 Mai 2005
- conserve les positions/tailles des fenetres dans les preferences
- conservé uniquement la scrollbar horizontale globale (suppression de celles du panneau des details et de la table)
- Ajout, dans le menu "?" d'une option permettant de voir la date de build
- Possibilité d'ouvrir un fichier de log via son URL, donc support du FTP.
ATTENTION : les logins/pass sont stockés en clair dans le fichier de preferences de l'application ($USER_HOME$/.logviewer/preferences.properties)
9 Mai 2005
- Affichage d'une boite d'information en cas d'erreur
- saisir un filtre constituant une expression reguliere invalide ne fout plus en l'air le filtre (positionnement d'un filtre blanc)
To do list