Se i miei log4j.properties guarda questoCome ottenere logger distinti in log4j?
# General configuration
log4j.rootLogger = ERROR, ConsoleAppender
# Appender configuration
log4j.appender.ConsoleAppender = org.apache.log4j.ConsoleAppender
log4j.appender.ConsoleAppender.layout = org.apache.log4j.PatternLayout
log4j.appender.ConsoleAppender.layout.ConversionPattern = %5p (%c) %m%n
#Other Loggers
log4j.logger.com.foo=INFO
log4j.logger.com.foo.Bar=DEBUG
log4j.logger.org.springframework=INFO
C'è un modo facile per ottenere solo i taglialegna com.foo
, com.foo.Bar
, root
e org.springframework
. E non le classi specifiche che sono state create ed ereditano i livelli (IE com.foo.bar.Baz
?
Per i miei scopi voglio creare una pagina di amministrazione che mostri questi logger e i loro livelli, ma non TUTTI i logger, solo quelli che sono stati configurati direttamente tramite proprietà. attualmente sto attraversando la gerarchia madre fino a quando non mi imbatto in un logger che ha un livello diverso da quello principale, ma che può nascondere alcuni logger configurati se sono nella gerarchia e impostano lo stesso livello di qualcosa più in alto.
L'analisi del file delle proprietà è fuori questione? –
No, utilizzando log4j in modo programmatico per scoprire quali logger sono stati configurati e non si tratta solo di ereditare da altri logger. – Kodi