Une individuels sur mon lieu de travail de faire les constatations suivantes au travail:
public class Foo {
private final static Logger logger = Logger.getLogger(Foo.class.getName());
public static final void main(String[] args) {
ConsoleHandler ch = new ConsoleHandler();
ch.setLevel(Level.FINEST);
Foo.logger.addHandler(ch);
Foo.logger.setLevel(Level.FINEST);
Foo.logger.finest("test");
}
}
Si vous venez de définir la racine ou le gestionnaire de meilleurs (exclusivement) alors il ne fonctionne pas. Lorsque j'ai mis les deux à l' FINEST
, alors il fonctionne. Son explication était:
À la fois l'instrument et ses gestionnaires ont des Niveaux de Journal... L'ordre de filtrage est Logger puis des Gestionnaires. Cela signifie qu'il vérifie si le message du journal passe les enregistreurs de filtre d'abord, puis envoie le message à la personne des gestionnaires pour le filtrage.
Il a en outre expliqué à l'aide des exemples suivants:
Logger myLogger
a un niveau d' FINEST
et un seul ConsoleHandler myHandler
qui ont un niveau d' INFO
myLogger.fine("foo")
à message fait-il passé à l'enregistreur de données du filtre, mais se fait stopper par le gestionnaire du filtre... Rien de sortie.
myLogger.info("foo")
passe à la fois de filtres et d' foo
est de sortie.
Maintenant...
Logger myLogger
a un niveau d' INFO
et un seul ConsoleHandler myHandler
qui ont un niveau d' FINEST
myLogger.fine("foo")
à message est arrêté par l'enregistreur de filtre et ne se rend jamais au gestionnaire de... Rien en sortie.
myLogger.info("foo")
passe à la fois de filtres et d' foo
est de sortie.
Maintenant...
Logger myLogger
a un niveau d' FINEST
et un seul ConsoleHandler myHandler
qui ont un niveau d' FINEST
myLogger.fine("foo")
passe à la fois des filtres et des "foo
" est sortie.
myLogger.info("foo")
passe à la fois de filtres et d' foo
est de sortie.