Monolog - DailyRollingFile

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Monolog - DailyRollingFile

Cyrille Peninou
Bonjour,

Seriez vous comment implémenter un DailyRollingFile pour les logs de Petals 3 ?

Cordialement,
Cyrille Peninou
Reply | Threaded
Open this post in threaded view
|

Re: Monolog - DailyRollingFile

Christophe DENEUX
Administrator
Bonjour Cyrille,

Effectivement le rolling file handler fourni avec Monolog ne se déclenche que sur la taille du fichier.
Il me semble que le plus simple est de te servir des sources de Monolog (http://forge.ow2.org/plugins/scmsvn/index.php?group_id=41) comme exemple pour écrire ce DailyRollingFile.
Christophe DENEUX
Petals ESB Architect
Linagora
Twitter: @ChrisDENEUX
Reply | Threaded
Open this post in threaded view
|

Re: Monolog - DailyRollingFile

Cyrille Peninou
Salut Christophe,

Merci pour ta réponse.
J'ai fouillé leur code et j'ai remarqué une classe DayFileHandler, mais alors impossible de l'instancier :(
J'ai essayé en mettant monolog.classname org.objectweb.util.monolog.wrapper.log4j.MonologLoggerFactory, mais je me prends une erreur:
java.lang.NoClassDefFoundError: org/apache/log4j/spi/LoggerFactory
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at org.objectweb.util.monolog.Monolog.instanciateMonologFactory(Monolog.java:295)
        at org.objectweb.util.monolog.Monolog.getMonologFactory(Monolog.java:218)
        at org.ow2.petals.kernel.server.PetalsServerImpl.initializeMonolog(PetalsServerImpl.java:380)
        at org.ow2.petals.kernel.server.PetalsServerImpl.init(PetalsServerImpl.java:155)
        at org.ow2.petals.launcher.AbstractLauncher.start(AbstractLauncher.java:189)
        at org.ow2.petals.launcher.AbstractLauncher.launch(AbstractLauncher.java:147)
        at org.ow2.petals.distribution.platform.Main.main(Main.java:42)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.spi.LoggerFactory
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        ... 9 more

Pourtant la librairie log4j-1.2.13, dans le dossier lib, contient bien cette classe.

Même si j'écris le code du DailyRollingFile, comment je fais pour que cela soit pris en compte, vu que la création des loggers se fait au démarrage de petals  (mis à part rebuilder la librairie monolog et remplacer monolog-2.1.10.jar) ?

Cdt
Reply | Threaded
Open this post in threaded view
|

Re: Monolog - DailyRollingFile

Christophe DENEUX
Administrator
Pourquoi avoir modifier la valeur de la propriété monolog.classname. Quel rapport avec le DayFileHandler ?
Christophe DENEUX
Petals ESB Architect
Linagora
Twitter: @ChrisDENEUX
Reply | Threaded
Open this post in threaded view
|

Re: Monolog - DailyRollingFile

Cyrille Peninou
Pour essayer d'instancier un MonologLoggerFactory qui se baserait sur log4j et ainsi pouvoir peut-être utiliser les classes qui se trouve dans le package org.objectweb.util.monolog.wrapper.log4j

C'était pour tester, suis pas sur que cela soit la bonne façon de procéder.