Je voudrais utiliser Log4perl dans un projet mais le désactiver pour une certaine classe (qui est, dans ce cas Net :: Amazon). Je pensais que ce serait facile, mais j'ai échoué.Comment puis-je désactiver la sortie Log4perl pour une classe particulière?
J'ai essayé d'utiliser
use Log::Log4perl (:easy_init);
use Net::Amazon;
my $amz = Net::Amazon->new(...);
my $log = Log::Log4perl->easy_init($DEBUG);
$log = $log->get_logger("Net::Amazon");
$log->level($OFF);
$log = $log->get_logger(__PACKAGE__);
$log->info("Hello World.");
Malheureusement, les messages de débogage de Net :: Amazon sont encore imprimés au terminal. Pourquoi donc? Et qu'est-ce que je fais mal ici?
A la fin de votre code d'exemple que vous définissez 'log' de $ retour à l'enregistreur pour __PACKAGE__, donc nous devrions nous attendre « Bonjour tout le monde » journaliser. Que se passe-t-il si vous déplacez l'appel '$ log-> info()' sur une ligne? – mob