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

Langage Perl Discussion :

[log4perl] Impossible de configurer log4perl


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de raoulchatigre
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2004
    Messages : 99
    Par défaut [log4perl] Impossible de configurer log4perl
    Bonjour à tous,

    Depuis quelques jours, j'essaie de me pencher sur le module log4perl.
    Je connaissais déjà log4cpp et le module Log de python qui fonctionnent sur le même principe mais là, pas moyen de faire fonctionner correctement.

    J'ai déjà testé pas mal de tutoriaux (donc log4perl fonctionne) mais pas moyen de créer mon propre système...

    L'idée c'est de répartir les sorties standard et d'erreur de cette manière :
    DEBUG,INFO,WARNING ERROR & FATAL sont redirigés vers la sortie standard.
    WARNING ERROR & FATAL sont redirigés vers la sortie d'erreur.

    Donc deux appenders, deux layouts différents et le tout lié à mon rootLogger.

    Voilà le code que j'esaie de faire donctionner, lorsque je le lance, je n'ai aucune sortie.

    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
    #! /usr/bin/perl -w
    use Log::Log4perl qw(get_logger :levels);
    use Log::Log4perl::Level;
    use Log::Log4perl::Appender::Screen;
    use Log::Log4perl::Layout::PatternLayout;
     
    # Configuration du rootLogger principal
    sub v_fConfigureLogger{
        my $rootLogger = Log::Log4perl->get_logger();
     
    	# Config de la sortie standard
        my $stdAppender = Log::Log4perl::Appender::Screen->new(
            name => "Sortie standard",
            stderr    => 0,
        );    
    	my $stdLayout = Log::Log4perl::Layout::PatternLayout->new(
             "[%d][%c][%p] %m");
        $stdAppender->layout($stdLayout);
     
    	# Config de la sortie d'erreur
    	my $errAppender = Log::Log4perl::Appender::Screen->new(
            name => "Sortie d'erreur",
            stderr    => 1,
        );
        my $errLayout = Log::Log4perl::Layout::PatternLayout->new(
            "[%d][%c][%p](%F:%L) %m");
        $errAppender->layout($errLayout);
        $errAppender->threshold($ERROR);
     
    	# Link avec le root logger
        $rootLogger->add_appender($stdAppender);
        $rootLogger->add_appender($errAppender);
     
    }
     
    v_fConfigureLogger();
     
    my $logger = Log::Log4perl->get_logger("Test");
     
    $logger->debug("Test des bugs");
    $logger->info("Test hein faux");
    $logger->warn("Test war n'hing");
    $logger->error("Test hé ror !");
    $logger->fatal("Test Fatal ? c'est Vito !");
    Quelqu'un parviendrait-il à le faire fonctionner chez lui ?

  2. #2
    Membre confirmé Avatar de raoulchatigre
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2004
    Messages : 99
    Par défaut
    Bon je suis pervenu à faire fonctionner mon code à l'aide d'un fichier de configuration.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [log4perl]
    log4perl.logger                    = DEBUG, ScreenStd, ScreenErr
     
    log4perl.appender.ScreenStd          = Log::Log4perl::Appender::Screen
    log4perl.appender.ScreenStd.stderr   = 0
    log4perl.appender.ScreenStd.layout   = PatternLayout
    log4perl.appender.ScreenStd.layout.ConversionPattern = [%d][%c][%5p] %m%n
     
    log4perl.appender.ScreenErr          = Log::Log4perl::Appender::Screen
    log4perl.appender.ScreenErr.stderr   = 1
    log4perl.appender.ScreenErr.layout   = PatternLayout
    log4perl.appender.ScreenErr.layout.ConversionPattern = [%d][%c][%5p](%F:%L) %m%n
    log4perl.appender.ScreenErr.Threshold = WARN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Log::Log4perl->init("log4perl.test.conf");
    my $logger = Log::Log4perl->get_logger("Test");
     
    $logger->debug("Test des bugs");
    $logger->info("Test hein faux");
    $logger->warn("Test war n'hing");
    $logger->error("Test hé ror !");
    $logger->fatal("Test Fatal ? c'est Vito !");
    et là ça fonctionne, ce qui me gène c'est de devoir gérer un fichier de config.
    Donc ma question est toujours valable, j'aimerais bien parvenir à faire fonctionner log4perl sans ficheir de configuration.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/05/2008, 17h38
  2. Impossible de configurer le build path !
    Par pepelele dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 12/03/2008, 11h04
  3. TPTP impossible a configurer ?!
    Par CyberCouf dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 15/05/2007, 13h52
  4. ComboBox impossible a configurer
    Par Carosmagor dans le forum VC++ .NET
    Réponses: 18
    Dernier message: 06/12/2006, 13h18
  5. make impossible après ./configure lors de l'installation
    Par christophe5757 dans le forum Débuter
    Réponses: 5
    Dernier message: 04/08/2005, 19h34

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