Jeśli moich log4j.properties wygląda toJak uzyskać odrębne rejestratory w 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
Czy istnieje prosty sposób uzyskać tylko rejestratory com.foo
, com.foo.Bar
, root
i org.springframework
. A nie konkretne klasy, które zostały utworzone i dziedziczą poziomy (IE com.foo.bar.Baz
?
Dla moich celów chcę utworzyć stronę admin, która wyświetla te rejestratory i ich poziomy, ale nie wszystkie loggery, tylko te, które zostały skonfigurowane bezpośrednio poprzez właściwości. aktualnie przechodzę do hierarchii nadrzędnej, aż natknę się na program rejestrujący, który ma inny poziom niż jego macierzysty, ale który może ukryć niektóre skonfigurowane rejestratory, jeśli znajdują się one w hierarchii i ustawić ten sam poziom co wyższy.
Czy parsowanie pliku właściwości nie wchodzi w grę? –
Nie, za pomocą log4j programowo wykryć, które rejestratory zostały skonfigurowane, i nie są tylko dziedziczenie z innych rejestratorów. – Kodi