Développement Java

publicité
Développement Java - Journalisation
Développement Java - Journalisation
Jean-Michel Richer
[email protected]
http://www.info.univ-angers.fr/pub/richer
L3 Pro Informatique 2010-2011
1 / 21
Développement Java - Journalisation
Plan
Plan
1
Introduction
2
Log4j
3
Bibliographie
2 / 21
Développement Java - Journalisation
Plan
Objectifs
Objectifs
• se familiariser avec la journalisation
• et notamment Log4j
3 / 21
Développement Java - Journalisation
Introduction
Introduction
Introduction
4 / 21
Développement Java - Journalisation
Introduction
Rappel journalisation
Journalisation (Logging)
• historique des événements qui affectent un système
• on utilise un journal (log file) pour enregistrer les
opérations
• objectifs divers :
• sécurité
• intégrité des données, opérations
• performances
5 / 21
Développement Java - Journalisation
Introduction
Rappel journalisation
Journalisation (Logging)
En plus des aspects sécurité, intégrité, performance :
• activer ou désactiver certains messages en fonction des
besoins
• plusieurs canaux
• plusieurs niveaux d’affichage
• plus pratique que println
6 / 21
Développement Java - Journalisation
Log4j
Log4j
Log4j
7 / 21
Développement Java - Journalisation
Log4j
log4j
Log4j
projet de la fondation Apache, différentes implémentations :
• log4j : Java
• log4cxx : C++
• log4net : .Net
• log4php : PHP
http://logging.apache.org/
8 / 21
Développement Java - Journalisation
Log4j
log4j
Log4j
propose trois sortes de composants :
• Logger : canal pour l’envoi d’information
• Appender : traitement de l’information
• Layout : mise en forme
9 / 21
Développement Java - Journalisation
Log4j
le logger
Logger
• permet de définir un identifiant pour l’envoi d’information
• création de ses propres Logger
• ou utilisation du logger par défaut : root Logger
10 / 21
Développement Java - Journalisation
Log4j
Exemple Logger
Logger
1
2
3
4
5
6
7
8
9
10
11
//Logging
import org.apache.log4j.*;
// use default logger
static Logger rootLogger = Logger.getRootLogger();
// create your own logger with name
static Logger myLogger = Logger.getLogger("myLogger");
// create your own logger with class name
static Logger myObjectLogger = Logger.getLogger(MyObject.class);
11 / 21
Développement Java - Journalisation
Log4j
Niveaux d’affichage du logger
Niveaux d’affichage
on utilise la fonction setLevel() pour fixer le niveau
d’affichage
• DEBUG < INFO < WARN < ERROR < FATAL
• ALL
• OFF
12 / 21
Développement Java - Journalisation
Log4j
Exemple setLevel
Logger setLevel
1 static Logger rootLogger = Logger.getRootLogger();
2
3 rootLogger.setLevel(Level.DEBUG);
4
13 / 21
Développement Java - Journalisation
Log4j
Envoi d’un message
Envoi d’un message
on utilise les fonctions suivantes :
• debug(Object message)
• info(Object message)
• warn(Object message)
• error(Object message)
• fatal(Object message)
14 / 21
Développement Java - Journalisation
Log4j
log4j Appender
Appender
plusieurs possibilités de traitement (cf. documentation)
• ConsoleAppender : vers System.out ou System.err
• FileAppender : dans un fichier
• RollingFileAppender
• DailyRollingFileAppender
• SMTPAppender : envoi d’un email
• SocketAppender
• ...
15 / 21
Développement Java - Journalisation
Log4j
log4j Layout
Layout - mise en forme
trois possibilités :
• SimpleLayout
• HTMLLayout
• PatternLayout : motif à définir
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
16 / 21
Développement Java - Journalisation
Log4j
Utilisation de Log4j
Utilisation
• définir un fichier de configuration log4j.properties
• le placer dans src sous Eclipse
• ou le copier dans le répertoire de build
• mettre log4j-1.2.15.jar dans le répertoire lib
17 / 21
Développement Java - Journalisation
Log4j
Exemple 1
Configuration de base
1
2
3
4
log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
5 log4j.appender.stdout.layout.ConversionPattern=%5p %c{1}:%L - %m%n
18 / 21
Développement Java - Journalisation
Log4j
Exemple avec fichier
Configuration avec fichier
1
2
3
4
# set appender to file
log4j.rootLogger=DEBUG, file
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=file.log
5 log4j.appender.file.layout=org.apache.log4j.SimpleLayout
19 / 21
Développement Java - Journalisation
Bibliographie
Bibliographie
Bibliographie
20 / 21
Développement Java - Journalisation
Bibliographie
Bibliographie, sitographie
• Pro Apache Log4j, Samudra Gupta, APress, 2005
• http://logging.apache.org/log4j/1.2/manual.html
21 / 21
Téléchargement