Tutoriel administration jboss N°5 : gestion logs jboss 5

////Tutoriel administration jboss N°5 : gestion logs jboss 5

Maîtrisez la gestion des logs avec Jboss 5. Analysez la configuration de log4j par défaut. Mettez en oeuvre une stratégie de rotation des logs. Créez un fichier de log spécifique à chaque application.

Ce tutoriel est un extrait de séances pratiques de la formation Administration JBOSS5 dispensée par Objis.

Les + objis

 70% de travaux pratiques

 Clé USB avec tous les outils utilisés + Corrigés TPs

 Bilan pédagogique individuel + conseils

Liens utiles

 + de 100 tutoriaux java/jee Objis

 10 tutoriaux JBOSS 5

 Objis, spécialiste formation java depuis 2005

 Site de téléchargement serveur Jboss 5

 Site de la communauté Jboss

 Démonstration Log4j avec JBOSS 5 et JBOSS 7.1.1

Prérequis

 Installation Kit de développement JDK 6

 Tutoriel jboss N°1 : installation Jboss 5

Objectifs

 Comprendre les fichiers de log : boot.log et server.log

 Comprendre la configuration des logs par défaut : jboss-log4.xml

 Mettre en œuvre stratégie rotation des logs (RollingFileAppender)

 Créer un fichier de log (monapplication.log) pour une application war

Durée

 40 min

Programme

 Partie 1 : Service Log de Jboss

 Partie 2 : Mise en oeuvre rotation logs

 Partie 3 : Création d’un log par application

Partie 1 : Service Log de Jboss

Répertoire et fichiers de log

En utilisant la configuration par défaut du serveur d’applications, le répertoire de log est le répertoire serverdefaultlog.

tutoriel_jboss_objis_logs.png

Le fichier de log boot.log représente les logs du serveur avant que le service principal de log de Jboss soit effectif. Dès que ce service est effectif, les logs sont écrit dans le fichier server.log.

Fichiers de configuration de log

Le premier fichier à regarder pour la configuration de tout service dans jboss est le fichier JBOSS_HOMEconfjboss-service.xml. On remarque dans ce même répertoire conf la présence du fichier jboss-log4j.xml qui est le fichier de configuration du service.

tutoriel_jboss_objis_logs_3.png

Voici dans le fichier de déclaration des services jboss la section dédiée à la configuration du service de log :

tutoriel_jboss_objis_logs_2.png

On y précise le fichier jboss-log4j.xml que nous étudierons plus loin. On y fait référence également au fichier confxmdescLog4jService-xmbean.xml de description du service, implémenté historiquement sous forme de XMBean Jboss. Ce fichier précise attribut et opération du MBean Log4j permettant de monitorer Log4j avec la technologie JMX.

tutoriel_jboss_objis_logs_4.png

Focus fichier jboss-log4j.xml

Le premier endroit à regarder pour comprendre comment est configuré les logs de Jboss est la section root présente tout en bas du fichier jboss-log4j.xml

tutoriel_jboss_objis_logs_7.png

Comprenez : les logs de JBOSS seront écrits à 2 endroits : dans la console (CONSOLE) et dans un fichier (FILE). Dans la terminologie Log4j, les appanders répondent à la question : ou envoyer les logs ? De nombreux types d’appenders existent, dont HTMLAppenders sortie (logs sous forme de page HTML) et SMTMAppender (envoie des logs dans boîte mail via SMTP)

Configuration sortie CONSOLE (console)

Voici la configuration de la sortie console, dont l’Appender est de type ConsoleAppender.

tutoriel_jboss_objis_logs_6bis.png

REMARQUE : notez l’attribut ‘Target‘ qui fixe précisement la sortie console « System.out »
REMARQUE : notez l’attribut ‘TreshHold‘ imposant de ne laisser passer sur la console uniquement des logs de type INFO.
REMARQUE : notez enfin la forme du log (le PatternLayout) précisant d’écrire la date (%d), le nom de la classe (%c), et le message de log (%m).

Configuration sortie FILE (fichier)

Voici la configuration de la sortie fichier (server.log), dont l’appender est ici DailyRollingFileAppender. Ce qui implique qu’il y aura un fichier de log qui sera écrasé toutes les 24h. Pratique en phase de développement mais pas en production !

tutoriel_jboss_objis_logs_5.png

REMARQUE : notez le paramètre’File’ fixé à server.log par défaut

INFO : les propriétés type jboss.server.log.dir sont prédéfinies de façon interne Jboss au démarrage (classe org.jboss.system.server.ServerConfig). Une description est dispo ici et peuvent être surchargées lors du démarrage de Jboss (modif à faire dans JBOSS_HOMEconfrun.conf : java … -Djboss.server.log.dir=monrepertoire).

Partie 2 : Mise en œuvre rotation logs

 Commentez la configuration de l’Appender File par défaut vue plus haut.

 Décommentez la configuration d’un autre Appender ‘FILE’ placée juste en dessous (et initialemnt commentée)

tutoriel_jboss_objis_logs_10.png

Il s’agit d’un type de log rotatif. Idéal pour les logs en production.

 Modifiez les paramètres de la façon suivante :

tutoriel_jboss_objis_logs_11.png

Ici nous configurons au maximum 5 fichiers de log de 10KB maximum chacun. Lorsque le cinquième est plein, un système de rotation permet de supprimer le log le plus ancien et d’en initialier un nouveau.
On évite ainqi d’avoir de trop lourd fichiers de logs.

tutoriel_jboss_objis_logs_12.png

 Redémarrez Jboss avec cette configuration. Vous notez que notre nouvelle configuration est en action.

tutoriel_jboss_objis_logs_13.png

 Redémarrez une nouvelle fois Jboss afin de constater la rotation des logs.

Partie 3 : Création d’un log par application

ETAPE 1 : Création Appender

Ici nous voulons que Jboss crée au démarrage un fichier qu’il alimentera par la suite uniquement avec les logs de notre application.

tutoriel_jboss_objis_logs_15.png

ETAPE 2 : Création un Logger spécifique

Notre application est caractérisée par des classes rangées dans package com.objis.demostruts. Nous allons demander à Log4j de diriger vers notre appender DEMOSTRUTS tous les logs provenant de classes présentents dans package com.objis et inférieurs.

tutoriel_jboss_objis_logs_14.png

ETAPE 3 : WAR sans config Log4j

Téléchargez l’application à déployer pour notre exemple. Il s’agit d’une version de l’application demostruts, sans la configuration de Log4j (pas de log4j.jar ni de log4j.xml). En effet c’est la configuration log4j de Jboss aui sera utilisée par la suite.

WAR sans config log4j avec classes utilisant log4j

L’application utilise log4j dans la classe HelloAction. En particuliers, l’application loggue le nom d’une personne entrée dans un champ texte.

INFO : notre tutoriel struts1 N°5 : gestion des logs avec log4j et AspectJ détaille la mise en oeuvre de log4j dans l’application.

ATTENTION : bien vérifier qu’il n’y a pas de config log4j dans le war.

Voilà ça y est vous avez configuré un log spécifique pour votre application. Reste à tester…

 Démarrez à nouveau Jboss afin de tenir compte de notre nouvelle configuration.

 Déployez l’application demostruts

tutoriel_jboss_objis_logs_16.png

 vérifiez qu’un fichier de log vide monapplication.log a été créé dans le répertoire log.

tutoriel_jboss_objis_logs_18.png

 Lancez l’application : http://localhost:8080/demostruts

tutoriel_jboss_objis_logs_17.png

 Entrez un nom dans le champ texte

 validez. Vous obtenez l’écran suivant

tutoriel_jboss_objis_logs_20.png

Entre temps l’application a loggué dans le fichier de l’appli…

tutoriel_jboss_objis_logs_19.png

Conclusion

Dans ce tutoriel vous avez analysé la stratégie de logs dde Jboss 5.

Vous avez mis en oeuvre des logs rotatifs et paramétré jboss afin d’avoir un fichier de log pour une des applications que vous avez déployé.

Prochaine formation JBOSS

Le chemin le plus court pour avoir les réflexes et la méthodologie du bon développeur JBOSS :

Votre formation JBOSS avec Objis, spécialiste formation java depuis 2005

Pour aller plus loin : le réseau Objis

Si vous appréciez notre sens du partage, devenez gratuitement membre ‘classic’ du Club Objis :

 Votez pour les prochains tutoriaux à publier

 Préparez vos entretiens techniques

 Valorisez votre profil / expertise

 Identifiez des opportunités d’emploi

 Recevez la newsletter objis.com

2018-01-27T16:31:24+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java