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

API standards et tierces Java Discussion :

[log4J] Mes logs contient des msg Spring ?


Sujet :

API standards et tierces Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 292
    Par défaut [log4J] Mes logs contient des msg Spring ?
    Bonjour,
    je développe une application à 2 couche (métier et dao) avec spring jpa et hibernate.

    j'utilise log4j pour les logs, seulement que je lance mon application, mon fichier log contient en plus de mes messages logs, les message de spring.
    voilà mon code :
    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
    public class Main extends FileAppender{
     
    public static void main(String [] args){
     
            Logger logger = Logger.getLogger("MainAppl");
     
    	// configuration de l'application
    	ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-config.xml");
    	// couche service
    	service = (IService) ctx.getBean("service");
    	logger.log(Level.INFO, "Début du traitement "
    				+ new Date.toString("dd/MM/yyyy à HH:mm:ss"));
    	logger.log(Level.INFO, "Date de valeur "
    				+ new Date.toString("dd/MM/yyyy"));
    }
     
    @Override
    public void setFile(String file) {
    	String fileNameDate = file + new Date.toString("yyyyMMddHHmm")
    		+ ".log";
    	super.fileName = repertoireLog + "/" + fileNameDate;
    	}
    }
    le log contient les messages Spring, et à la fin mes message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...........................................
    2010-05-19 10:04:51 DEBUG [JpaTransactionManager] Closing JPA EntityManager [org.hibernate.ejb.EntityManagerImpl@830122] after transaction
    2010-05-19 10:04:51 DEBUG [SessionImpl] closing session
    2010-05-19 10:04:51 DEBUG [ConnectionManager] connection already null in cleanup : no action
    2010-05-19 10:04:51 INFO  [MainAppl] Début du traitement 19/05/2010 à 10:04:51
    2010-05-19 10:04:51 INFO  [MainAppl] Date de valeur 19/05/2010
    Merci

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ben oui, c'est un peu normal, spring aussi fait du logging, Si tu veux séparer les log en différent fichier / différentes destination, il faudra configurer correctement ton système de logging pour faire la séparation des différents appender.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 292
    Par défaut
    mais comment faire ?

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    créer correctement ton log4j.properties ou log4j.xml, en lisant la doc de log4j.

    voici un exemple
    Code xml : 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
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
     
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
    	debug="false" threshold="debug">
    	<appender name="CONSOLE" class="org.apache.log4j.DailyRollingFileAppender">
    	    <!-- standard logger, roll file every week -->
            <param name="File"
                value="/var/log/myapplication/main.log" />
            <param name="Append" value="true" />
            <param name="datePattern" value="'.'yyyy-ww" />
    		<layout class="org.apache.log4j.PatternLayout">
    			<param name="ConversionPattern"
    				value="%d{DATE} [%X{counter}-%X{user}-%X{ip}]: %-5p %c %x - %m%n" />
    		</layout>
    	</appender>
            <!-- Shark loggers -->
    	<appender name="PERSISTENCE"
    		class="org.apache.log4j.RollingFileAppender">
    		<param name="Threshold" value="INFO" />
    		<param name="File"
    			value="/var/log/myapplication/SharkPersistence.log" />
    		<param name="Append" value="true" />
    		<param name="MaxFileSize" value="10MB" />
    		<param name="MaxBackupIndex" value="2" />
    		<layout class="org.apache.log4j.PatternLayout">
    			<param name="ConversionPattern"
    				value="%-4r [%t] %-5p %c %x - %m%n" />
    		</layout>
    	</appender>
    	<!--  End Shark loggers -->
     
    	<category name="org.apache">
    		<level value="WARN" />
    	</category>
    	<category name="org.hibernate">
    		<level value="WARN" />
    	</category>
    	<category name="Persistence">
    		<level value="WARN" />
    		<appender-ref ref="PERSISTENCE" />
    	</category>
    	<root>
    		<level value="ERROR" />
                    <appender-ref ref="CONSOLE" />
    	</root>
    </log4j:configuration>

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 292
    Par défaut
    j'ai pas bien saisi le truc !

    j'utilise un fichier log4j.properties :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #définition du niveau et des Appender du rootLogger
    log4j.rootLogger=DEBUG, monAppender
     
    #configuration de "monAppender"
    #nous allons envoyer les messages dans la console de Tomcat
    log4j.appender.monAppender=package.Main
     
    log4j.appender.monAppender.file=logfile
     
    #définition du Layout pour "monAppender"
    log4j.appender.monAppender.layout=org.apache.log4j.PatternLayout
     
    #définition du pattern d'affichage pour "monAppender"
    log4j.appender.monAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%c{1}] %m%n
    Merci

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    si tu veux virer spring, soit tu met un appender séparer pour les logger de Spring (voir la doc log4j sur comment faire dans un log4j.properties) soit tu change le niveau de logging pour les logger de Spring en error level pour limiter les messages.

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Par défaut
    Pour info, dans les logs que tu montres, ce sont principalement des logs Hibernate (SessionImpl, ConnectionManager, c'est du Hibernate !)
    En masquant uniquement les logs de Spring, cela ne résoudrait pas ton problème.

    En règle générale, une solution simple pour avoir ses propres logs de niveau DEBUG non pollués pas les logs des api tierces (Spring, Hibernate ou autres), est de configurer le niveau de log par défaut en ERROR au lieu de DEBUG :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    log4j.rootLogger=ERROR, monAppender
    Et de configurer le niveau de log de ses propres classes à DEBUG en ajoutant cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #log4j.logger.packageRacine=DEBUG
    ou packageRacine représente le package de base de ton application.

    En mettant le niveau de log par défaut à DEBUG, tu ouvres toutes les vannes, tu dois ensuite fermer individuellement celle que tu veux pas, ce qui est contraignant quand tu en as plusieurs à fermer.
    En mettant le niveau de log par défaut en ERROR, tu fermes toutes les vannes, et c'est toi qui choisit celle(s) que tu ouvres, ce qui est simple quand tu n'en as qu'une à ouvrir.

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/05/2015, 08h47
  2. [log4j] uniquement "mes" logs
    Par Invité dans le forum Logging
    Réponses: 5
    Dernier message: 27/03/2007, 10h14
  3. [sockets]envoyer recevoir des msg
    Par Sirion dans le forum C++
    Réponses: 10
    Dernier message: 19/05/2005, 22h04
  4. Cette page contient des éléments sécurisés et non sécurisés
    Par bigsister dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 26/04/2005, 14h01
  5. Réponses: 2
    Dernier message: 09/10/2004, 20h45

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