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

Java Discussion :

Log4J - ajouter l'option MaxFileSize directement dans le code Java


Sujet :

Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 81
    Par défaut Log4J - ajouter l'option MaxFileSize directement dans le code Java
    Salut à tous !

    Dans mon programme Java, j'utilise Log4j pour archiver mes fichier log. Rien de bien compliqué (c'est l'avantage de cet outil), ce simple code suffit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Logger log  = Logger.getLogger("org.test");
    PatternLayout layout = new PatternLayout("%d{dd'-'MM'-'yyyy | HH'h'mm'm'ss's |'} %-5p : %m%n");
    FileAppender appender = new FileAppender(layout, "./journal.log", false);
    log.addAppender(appender);
    log.setLevel(Level.ALL);
    log.info("Envoi d'une info vers le fichier log");
    Tout marche très bien, mais je voudrais maintenant rajouter 2 options :
    - MaxFileSize : qui me permet de définir la taille maximum de mon fichier
    - MaxBackupIndex : qui me permet une rotation des fichiers (le fichier en cours devient "journal.log1", ce dernier devient "journal.log2", etc.

    Le soucis c'est que je ne vois pas de appender.MaxFileSize(10) ou de log.MaxFileSize(10)...
    Tous les tuto ou exemple du net gère ces variables dans un fichier XML, mais pas directement dans le code :-(
    J'ai du rater un chapitre... Quelqu'un sait ou et comment utilise-t-on ces paramètres ? Y'a-t-il une méthode pour cela ?

    Merci !

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 91
    Par défaut
    Hello BobbyWeb,

    Ton problème provient du faite que la classe FileAppender ne dispose pas de ces propriétés ! Ce sont des propriétés des appenders de type RollingFileAppender.

    A+

  3. #3
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Bonjour,

    Je pense que la classe recherchée est PropertyConfigurator.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 81
    Par défaut
    Citation Envoyé par sedryk Voir le message
    Hello BobbyWeb,

    Ton problème provient du faite que la classe FileAppender ne dispose pas de ces propriétés ! Ce sont des propriétés des appenders de type RollingFileAppender.

    A+
    Bien vu sedryk, voici la modification de mon code. Mon souci est maintenant d'arriver à envoyer mes information vers mon objet R de type RollingFileAppender :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    PatternLayout layout = new PatternLayout("%d{dd'-'MM'-'yyyy | HH'h'mm'm'ss's |'} %-5p : %m%n");
     
    RollingFileAppender R = new RollingFileAppender(); 
    R.setLayout(layout);
    R.setFile("./journal.log"); 
    R.setMaximumFileSize(10);
    R.setMaxBackupIndex(10);		   
     
    log.addAppender(R);
    log.setLevel(Level.ALL);
    log.info("Envoi d'une info vers le fichier log");
    Ici, Eclipse me renvoi cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    log4j:ERROR No output stream or file set for the appender named [null].
    Ce qui est normal puisque j'essaye d'ajouter un RollingFileAppender avec une méthode addAppender (Appender). Mais je n'ais pas de méthode "addRollingFileAppender" pour mon objet log...
    Comment ferais-tu ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 81
    Par défaut
    J'ai trouvé !
    En fait avant d'ajouter l'appender, il fallait faire :
    Note : il est plus judicieux d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    R.setMaxFileSize("10KB");
    (il est possible de mettre MB, GB également).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 34
    Dernier message: 22/11/2010, 00h00
  2. Réponses: 1
    Dernier message: 11/10/2010, 18h25
  3. Ajout de régions dans un code Java
    Par manu f dans le forum Eclipse
    Réponses: 1
    Dernier message: 23/03/2010, 13h38
  4. Ajout d'une image SVG dans le code d'une page
    Par Mobius dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/05/2009, 16h37
  5. Réponses: 2
    Dernier message: 29/11/2007, 19h54

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