[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:
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 ?