w moim log4j.properties mam:log4j kieruje całą moc dziennika do stdout, mimo że nie miało
log4j.rootLogger=DEBUG,stdout
log4j.logger.notRootLogger=DEBUG,somewhereelse
stdout appenders i somewhereelse są zarówno poprawnie skonfigurowany, stdout pisze do konsoli i somewhereelse zapisuje plik.
W moim kodu w każdej klasie albo ustawić albo:
static Logger log = Logger.getLogger("notRootLogger);
^Kiedy nie chcę rzeczy dzieje się w konsoli.
LUB
static Logger log = Logger.getRootLogger();
^Kiedy robię.
Co muszę zrobić w pliku log4.properties, aby zatrzymać zapisywanie rzeczy notRootLogger na standardowe wyjście? Czy istnieje jakiś rodzaj dziedziczenia, w którym zapisuje się dziennik główny, który musi zostać wyłączony?
Nie chcę konfigurować rejestratora dla każdej pojedynczej klasy, ale chcę zalogować się do konsoli.
Co to ma wspólnego z optymalizacją? – skaffman
W jaki sposób jest to "przedwczesna optymalizacja"? To wcale nie jest "optymalizacja". Tak się składa, że chcesz innej opcji niż domyślna.Jeśli domyślną wartością addytywności byłaby wartość false, oznaczałoby to, że duża liczba innych osób musiałaby jawnie ustawić ją jako prawdziwą. Podejrzewam, że więcej ludzi chce, żeby było "prawdziwe" niż "fałszywe". –
oczekiwanie jest całkiem jasne, jeśli przeczytałeś dokumentację wstępną log4j lub użyłeś jej –