Guillaume VIEL :: java jee tomcat linux

Aller au contenu | Aller au menu | Aller à la recherche

mardi 31 janvier 2012

Log4j : changer le niveau de log à chaud via JMX

Changer le niveau de log directement sans avoir à redéployer l'application est parfois indispensable sur des plateformes critiques où il est impossible d'interrompre le service. C'est aussi un moyen de déboguer directement sur une plateforme qui est la seule à présenter un bug non reproductible ailleurs.

Il existe plusieurs solutions dont :

  • relecture de la configuration Log4j à intervalle régulier; il suffit alors de modifier la configuration des niveaux de log directement (soit avec l'API Log4j, soit avec les classes utilitaires de Spring Log4jWebConfigurer)
  • changement des niveaux de log à l'aide de JMX

C'est cette dernière solution que je préfère, car il est généralement déconseillé de modifier directement des fichiers à chaud dans un serveur d'applications.

Il faut d'abord créer une classe avec une méthode permettant de modifier le niveau de log de n'importe quel package :

Lire la suite...

jeudi 17 février 2011

Données utilisateur visualVM

Lors d'un changement de JVM, il se peut que les données de configuration VisualVM ne soient pas récupérées (notamment passage de Java 6 à Java 7). Sur un poste windows, il est très simple de récupérer ses configurations d'hôtes à monitorer. Elles se trouvent dans :

C:\Documents and Settings\utilisateur\Application Data\.visualvm\6u30

Les hôtes déclarés sont dans le répertoire repository. Il suffit de recopier les données vers le répertoire C:\Documents and Settings\utilisateur\Application Data\.visualvm\7u4 si vous venez d'installer la dernière JVM 7.

D'une version 6 à une autre, le premier répertoire créé semble être conservé pour les versions suivantes.