log4j_jboss2.jpg
logo Axopen

18+

années
d'expérience

60+

experts
techniques

150K

écoutes de notre podcast

Log4j et JBOSS 7.1

L’utilisation de log4j dans JBOSS 7.1, configuration et exploitation.

Pierre LISERON
Mis à jour le 5 Mai 2025

Le besoin

Avoir des logs propre et clair séparés pour chaque application de serveur. Pour ce faire, rien de mieux que lutilisation de LOG4J, très couramment utilisé pour réaliser des logs dans les applications JEEJava Entreprise Editionhttp://logging.apache.org/log4j/

On pourrait utiliser les logs de JBOSS mais ceci créerai une adhérence entre les applications (WAR) et le serveur alors que lutilisation de LOG4J permet de garder une totale indépendance avec votre serveur, ce qui est toujours préférable quand on souhaite créer des applications agiles et portables.

La solution

Pour utiliser LOG4J avec JBOSS, il faut préalablement spécifier que vous voulez utiliser votre version et pas celle fournie dans les modules de JBOSS. Pour ça il faut créer un fichier jboss-deployment-structure.xml et le placer à la racine de WEB-INF, comme sur la capture suivante: 

log4j.jpg

Dedans, il faut rentrer lexclusion du module lors du déploiement de lapplication.

<?xml version= »1.0&Prime; encoding= »UTF-8&Prime;?>
  
<jboss-deployment-structure>
  
<deployment>

<!&#8211; Exclusions allow you to prevent the server from automatically adding
  
 some dependencies &#8211;>
  
<exclusions>
  
<module name»org.apache.log4j » />
  
</exclusions>

</deployment>
  
</jboss-deployment-structure

Ceci permet de ne pas avoir de conflit entre votre version (ici log4j-1.2.16.jar) qui se trouve dans WEB-INF/lib et celle du serveur.

Dernière étape, créer votre log4j.xml et le placer dans la racine des sources java de sorte que celui-ci se retrouve dans le bon répertoire une fois le WAR crée.

Voici un exemple du fichier  log4j.xml

<?xml version= »1.0&Prime; encoding= »UTF-8&Prime;?>
  
<!DOCTYPE log4j:configuration SYSTEM « log4j.dtd »>
  
<log4j:configuration xmlns:log4j»http://jakarta.apache.org/log4j/ »
  
debug»false »>
  
<appender name»CONSOLE » class»org.apache.log4j.ConsoleAppender »>
  
<layout class»org.apache.log4j.PatternLayout »>
  
<param name»ConversionPattern » value»[%d{dd/MM/yy hh:mm:ss}] %5p %c{2}: %m%n » />
  
</layout>
  
</appender>
  
<appender name»PobiAppender » class»org.apache.log4j.RollingFileAppender »>
  
<param name»File » value»/var/log/jboss/extranet_www.log » />
  
<param name»MaxFileSize » value»1MB » />
  
<param name»MaxBackupIndex » value»100&Prime; />
 
<layout class»org.apache.log4j.PatternLayout »>
  
<param name»ConversionPattern » value»[%d{dd/MM/yy hh:mm:ss}] %5p %c{2}: %m%n » />
  
</layout>
  
</appender>
  
<appender name»HibernateAppender » class»org.apache.log4j.RollingFileAppender »>
  
<param name»File » value»/var/log/jboss/hibernate\_extranet\_www.log » />
  
<param name»MaxFileSize » value»1MB » />
  
<param name»MaxBackupIndex » value»100&Prime; />
 
<layout class»org.apache.log4j.PatternLayout »>
  
<param name»ConversionPattern » value»[%d{dd/MM/yy hh:mm:ss}] %5p %c{2}: %m%n » />
  
</layout>
  
</appender>
 
<root>
 
<priority value»ERROR » />
  
<appender-ref ref»CONSOLE » />
  
<appender-ref ref»PobiAppender » />
 
</root>
  
<logger name»fr.www »>
  
<level value»debug » />
  
<appender-ref ref»CONSOLE » />
  
<appender-ref ref»PobiAppender » />
  
</logger>
  
<logger name»org.hibernate »>
  
<level value»info » />
  
<appender-ref ref»CONSOLE » />
  
<appender-ref ref»HibernateAppender » />
  
</logger>
 
</log4j:configuration>

 

Résultat

Il ne vous reste plus qua utiliser votre loggeur préféré dans les classes JAVA comme ceci:

private static Logger mLogger = Logger.getLogger(MonBean.class);
 
mLogger.debug(« mon commentaire »);

 

Voilà  vous obtenez un logger simple et efficace pour vos applications!

 

Pour aller plus loin

Plugin de traitement d’information JBoss AS 7 pour Nagios

Avec Jboss AS 7 &nbsp;il est difficile de trouver un plugin simple permettant &agrave; la fois de remonter les informations de monitoring et des graphiques de performances.

Small right arrow

Annuler un mail envoyé

Annuler un mail envoyé, c’est désormais possible ! Il y a quelques jours, Gmail a fait de ce rêve une réalité ! Si vous faites partie de ceux qui relisent leurs mails après leur envoi ou qui se rendent compte qu’une faute d’orthographe s’est malencontreus

Small right arrow

Optimiser ses requêtes SQL : bonnes pratiques pour les développeurs web

Comment optimiser ses requêtes SQL lorsqu’on est développeur d’applications web ? S’il y a bien une chose qui reste constante dans le développement informatique, c’est que toutes les applications manipulant des données structurées utilisent le SQL. Cette couche est indispensable dès que vous avez besoin de stocker et d’accéder à des données. Ainsi, peu importe le langage ou le framework que vous choisissez pour votre projet, SQL sera toujours présent. Lors des audits de performance que nous effectuons, les principales problématiques que nous rencontrons proviennent d’une mauvaise utilisation des bases de données par les applications. Il est donc crucial de bien maîtriser les principes d’optimisation SQL pour garantir des performances pérennes. Aujourd’hui, nous allons explorer ces différentes optimisations SQL, en particulier dans le cadre du développement d’applications web.

Small right arrow