IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Logging Java Discussion :

[Log4J] Probleme de niveau d'erreur


Sujet :

Logging Java

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 179
    Points : 97
    Points
    97
    Par défaut [Log4J] Probleme de niveau d'erreur
    Bonjour,

    Je suis "débutant" en Log4J et essaie de comprendre le fonctionnement de cette API.

    Mon logger est ainsi:


    J'ai mis des logs en niveaux "trace"
    (log utilise org.apache.commons.logging.Log avec une interface)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    log.trace(this, "Computation of the planned tranches model : STARTING");
    Mon fichier de configuration est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <!-- ============================== -->
    	<!-- Append messages to the console -->
    	<!-- ============================== -->
    	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
    		<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
    		<param name="Target" value="System.out"/>
    		<param name="Threshold" value="DEBUG"/>
    		<layout class="org.apache.log4j.PatternLayout">
    			<!-- The default pattern: Date Priority [Category] Message\n -->
    			<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
    		</layout>
    	</appender>
     
    	<!--localys project logs -->
    	<category name="com.thalys.localys" additivity="false">
    		<priority value="DEBUG"/>
    		<appender-ref ref="CONSOLE"/>
    	</category>
    Et dans mes logs, j'obtiens bien le log de cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    15:21:39,774 DEBUG [UninitializedTranchesBuilder] Computation of the planned tranches model : STARTING
    Je ne comprends donc pas pourquoi mon log de niveau trace apparait ici, en mode debug : 1) pourquoi il apparait (trace est inférieur à debug) 2) pourquoi il apparait en debug
    Nicolas
    Blogueur @ www.ABCArgent.com

  2. #2
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Citation Envoyé par nicdo77
    J'ai mis des logs en niveaux "trace"
    (log utilise org.apache.commons.logging.Log avec une interface)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    log.trace(this, "Computation of the planned tranches model : STARTING");
    De quelle classe est ton instance "log" ? car org.apache.commons.logging.Log ne possède pas de méthode <<trace(Object,String)>> (s'il s'agit d'une classe développée par tes soins alors l'erreur peut venir d'ici...) !
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  3. #3
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 179
    Points : 97
    Points
    97
    Par défaut
    Oui, le probleme c'est que c'est du code que je relis en fait.
    Il y a plein d'abstraction.

    Enfin je vais essayer de mettre le détail.

    Class Logger : elle utilise Log, de org.apache.commons.logging.log, dont la javadoc est ici:
    http://jakarta.apache.org/commons/lo...ocs/index.html


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    public class Logger {
    	// ~ Static fields/initializers
    	// -----------------------------------------------
    
    
    	private static Logger _instance = null;
    
    	// ~ Constructors
    	// -------------------------------------------------------------
    
    	/**
    	 * Creates a new Logger object.
    	 */
    	private Logger() {
    	}
    
    	// ~ Methods
    	// ------------------------------------------------------------------
    
    	/**
    	 * singleton factory
    	 * 
    	 * @return instance of logger
    	 */
    	public static synchronized Logger getInstance() {
    		if (_instance == null) {
    			_instance = new Logger();
    		}
    		return _instance;
    	}
    
    	/**
    	 * Log the message with a priority TRACE
    	 * 
    	 * @param classObj
    	 *            a reference to the object asking for logging
    	 * @param message
    	 *            the message to be logged
    	 * @param t
    	 *            associated throwable object, may be null
    	 */
    	public void trace(Object classObj, String message, Throwable t) {
    		this.trace(classObj.getClass().getName(), message, t);
    	}
    
    	/**
    	 * Log the message with a priority TRACE
    	 * 
    	 * @param classObj
    	 *            a reference to the object asking for logging
    	 * @param message
    	 *            the message to be logged
    	 */
    	public void trace(Object classObj, String message) {
    		this.trace(classObj.getClass().getName(), message, null);
    	}
    
    	/**
    	 * Log the message with a priority TRACE
    	 * 
    	 * @param className
    	 *            a class name
    	 * @param message
    	 *            the message to be logged
    	 */
    	public void trace(String className, String message) {
    		this.trace(className, message, null);
    	}
    
    	/**
    	 * Log the message with a priority TRACE
    	 * 
    	 * @param className
    	 *            the class name of the object asking for logging
    	 * @param message
    	 *            the message to be logged
    	 * @param t
    	 *            associated throwable object, may be null
    	 */
    	public void trace(String className, String message, Throwable t) {
    		Log log = LogFactory.getLog(className);
    
    		if (log.isTraceEnabled()) {
    			if (t != null) {
    				log.trace(message, t);
    			} else {
    				log.trace(message);
    			}
    		}
    	}
    
    	/**
    	 * Log the message with a priority DEBUG
    	 * 
    	 * @param classObj
    	 *            a reference to the object asking for logging
    	 * @param message
    	 *            the message to be logged
    	 * @param t
    	 *            associated throwable object, may be null
    	 */
    	public void debug(Object classObj, String message, Throwable t) {
    		this.debug(classObj.getClass().getName(), message, t);
    	}
    
    	/**
    	 * Log the message with a priority DEBUG
    	 * 
    	 * @param classObj
    	 *            a reference to the object asking for logging
    	 * @param message
    	 *            the message to be logged
    	 */
    	public void debug(Object classObj, String message) {
    		this.debug(classObj.getClass().getName(), message, null);
    	}
    
    	/**
    	 * Log the message with a priority DEBUG
    	 * 
    	 * @param className
    	 *            a class name
    	 * @param message
    	 *            the message to be logged
    	 */
    	public void debug(String className, String message) {
    		this.debug(className, message, null);
    	}
    
    	/**
    	 * Log the message with a priority DEBUG
    	 * 
    	 * @param className
    	 *            the class name of the object asking for logging
    	 * @param message
    	 *            the message to be logged
    	 * @param t
    	 *            associated throwable object, may be null
    	 */
    	public void debug(String className, String message, Throwable t) {
    		Log log = LogFactory.getLog(className);
    
    		if (log.isDebugEnabled()) {
    			if (t != null) {
    				log.debug(message, t);
    			} else {
    				log.debug(message);
    			}
    		}
    	}
    
    	// la meme chose pour info, warn, et fatal et error
    Le code complet d'utilisation des logs est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    private static Logger log = Logger.getInstance();
     
    	// ~ Methods
    	// ------------------------------------------------------------------------
     
    	public TranchesCollection buildTranches(Session session, Collection trajets) {
     
    		log.trace(this, "Computation of the planned tranches model : STARTING");
    ...
    Mon souci, c'est uqe je ne suis pas certain de la version que j'utilise. Comment savoir avec certitude la version de ma librairie? Ma librairie s'appelle commons-logging.jar. Mais pas d'info sur le num de version. Il y a un fichier Manifest.MF, cela peut-il m'aider? (Je te parle du numéro de version parce que effectivement trace(Object,string) n'est pas implémenté sur toutes les versions... MAIS, j'ai d'autres appels à log.trace() qui me sortent effectivement des TRACE et non pas des DEBUG...
    Nicolas
    Blogueur @ www.ABCArgent.com

Discussions similaires

  1. [log4j]Probleme de niveau
    Par cameleon2002 dans le forum Logging
    Réponses: 1
    Dernier message: 28/03/2008, 06h38
  2. [Thread] petit problème au niveau du reveil d'un thread
    Par sagitarium dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 13/01/2006, 11h35
  3. [VB]retour d'un niveau d'erreur
    Par Delphi-ne dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/10/2005, 14h54
  4. PROBLEME haut niveau BACKUP
    Par Dev_Michael dans le forum Administration
    Réponses: 7
    Dernier message: 10/03/2005, 15h32
  5. [log4j] Probleme de config
    Par sylvain_neus dans le forum Logging
    Réponses: 18
    Dernier message: 30/06/2004, 19h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo