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] un fichier de logs par mois


Sujet :

Logging Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 71
    Points : 40
    Points
    40
    Par défaut [log4j] un fichier de logs par mois
    Bonjour, dans une application web, j'utilise log4j.

    Derriere cette application web, j'ai un batch qui analyse les fichiers de logs...

    j'aimerai faire un fichier de logs par mois...
    y a t il un moyen automatique de le faire? ou dois je le faire manuellement?

    Merci
    Antoine

  2. #2
    Membre habitué Avatar de we.are.the.storm
    Profil pro
    Inscrit en
    Février 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 115
    Points : 139
    Points
    139
    Par défaut
    L'exemple donné fait ce que tu recherches :
    http://logging.apache.org/log4j/comp...eAppender.html

    La doc correspondante:
    http://logging.apache.org/log4j/comp...ingPolicy.html

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 71
    Points : 40
    Points
    40
    Par défaut
    Voici mon code,
    pour pouvoir tester sans devoir attendre debut avril, j'ai changé et je crée un nouveau fichier par seconde...
    ce code ne marche pas...
    Je n'arrive meme pas a démarrer tomcat, il me met l'exception suivante :
    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
    log4j:ERROR Could not create an Appender. Reported error follows.
    java.lang.ClassNotFoundException: org.apache.log4j.rolling.RollingFileAppender
    	at java.net.URLClassLoader$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Unknown Source)
    	at org.apache.log4j.helpers.Loader.loadClass(Loader.java:160)
    	at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:164)
    	at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:140)
    	at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:153)
    	at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:415)
    	at org.apache.log4j.xml.DOMConfigurator.parseCategory(DOMConfigurator.java:335)
    	at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:781)
    	at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:666)
    	at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:616)
    	at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:602)
    	at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:460)
    	at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
    	at org.apache.log4j.Logger.getLogger(Logger.java:107)
    	at net.atos.sfr.svi.manage.session.listener.ListenerSession.<clinit>(ListenerSession.java:13)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    	at java.lang.reflect.Constructor.newInstance(Unknown Source)
    	at java.lang.Class.newInstance0(Unknown Source)
    	at java.lang.Class.newInstance(Unknown Source)
    	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3713)
    	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
    	at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
    	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    	at org.apache.catalina.core.StandardService.start(StandardService.java:448)
    	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
    	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
    log4j:ERROR Could not parse input source [org.xml.sax.InputSource@1c6a99d].
    java.lang.NullPointerException
    	at java.util.Hashtable.put(Unknown Source)
    	at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:141)
    	at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:153)
    	at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:415)
    	at org.apache.log4j.xml.DOMConfigurator.parseCategory(DOMConfigurator.java:335)
    	at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:781)
    	at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:666)
    	at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:616)
    	at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:602)
    	at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:460)
    	at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
    	at org.apache.log4j.Logger.getLogger(Logger.java:107)
    	at net.atos.sfr.svi.manage.session.listener.ListenerSession.<clinit>(ListenerSession.java:13)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    	at java.lang.reflect.Constructor.newInstance(Unknown Source)
    	at java.lang.Class.newInstance0(Unknown Source)
    	at java.lang.Class.newInstance(Unknown Source)
    	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3713)
    	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
    	at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
    	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    	at org.apache.catalina.core.StandardService.start(StandardService.java:448)
    	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
    	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <appender name="ext_client" class="org.apache.log4j.rolling.RollingFileAppender">
          <param name="File" value="D:/dev/vxml/vxml-sfr-svi6397/tomcat1/logs/ext_client.log" />
         <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
          <param name="FileNamePattern" value="'.'%d{yyyy-MM-dd-HH-mm}"/>
        </rollingPolicy>
         <layout class="org.apache.log4j.PatternLayout">
             <param name="ConversionPattern" value="%-5p [%d{dd/MM/yyyy - HH:mm:ss}] %20c: %m%n" />
          </layout>
       </appender>
        <category name="compteur_visite">
        	<priority value="debug" />
            <appender-ref ref="ext_client" />
        </category>
    tu sais pourquoi ca me fait ca?

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 71
    Points : 40
    Points
    40
    Par défaut
    je suis sous windows donc je sais pas si ca a une incidence...

  5. #5
    Membre habitué Avatar de we.are.the.storm
    Profil pro
    Inscrit en
    Février 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 115
    Points : 139
    Points
    139
    Par défaut
    Ca va dépendre de ta version de log4j, là c'est la doc pour la version 1.2:
    http://logging.apache.org/log4j/1.2/apidocs/index.html

    Apparement là il faut utiliser org.apache.log4j.DailyRollingFileAppender au lieu de org.apache.log4j.rolling.RollingFileAppender et éventuellement configurer le DatePattern.

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 71
    Points : 40
    Points
    40
    Par défaut
    Oui j'ai modifié un peu le fichier xml et maintenant ca fonctionne...
    Tous les minutes, mon fichier ext_client se vide.
    Mon probleme maintenant est de sauvegarder l'ancien log...car il est introuvable la...donc je perds tous mes logs toutes les minutes...

    il se sauvegarde a un endroit special?

Discussions similaires

  1. Tomcat 6 - Un fichier de log par session utilisateur ?
    Par onlytoine dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 14/01/2011, 15h26
  2. [log4j] Un fichier de log par utilisateur (thread)
    Par El Saigneur dans le forum Logging
    Réponses: 0
    Dernier message: 12/12/2008, 16h08
  3. Un fichier de log par utilisateur
    Par jpclavery dans le forum Logging
    Réponses: 1
    Dernier message: 25/01/2008, 13h58
  4. [Log4] Produire un fichier de log par utilisateur
    Par hugo123 dans le forum Logging
    Réponses: 2
    Dernier message: 11/08/2006, 15h59

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