Mam log4j
właściwości jak poniżej. Wszystko, co jest zalogowane, TextProcessor.log
jest powyżej poziomu WARN. Nie rozumiem progu, który jest ustawiony tutaj do debugowania. Czy ktoś może wyjaśnić, co robi próg?
log4j.logger.TextProcessor=warn,TextProcessor
log4j.appender.TextProcessor=org.apache.log4j.RollingFileAppender
log4j.appender.TextProcessor.File=C:/project/logs/TextProcessor.log
log4j.appender.TextProcessor.MaxFileSize=10MB
log4j.appender.TextProcessor.MaxBackupIndex=10
log4j.appender.TextProcessor.Threshold=debug
log4j.appender.TextProcessor.layout=org.apache.log4j.PatternLayout
log4j.appender.TextProcessor.layout.ConversionPattern=[%d] [%5p] (%F:%L) - %m%n
Odpowiedzi:
Masz tutaj dwie rzeczy: logger i appender. Niestety, wybrałeś tę samą nazwę dla obu, co nie wyjaśnia tego jasno.
Minimalny poziom rejestratora jest ustawiony na ostrzeżenie, co oznacza, że wszystko, co logujesz za pomocą tego rejestratora, który nie ma co najmniej poziomu ostrzeżenia, zostanie zignorowane.
Gdy wiadomość zostanie zaakceptowana przez rejestrator, jest wysyłana do jednego lub kilku programów dołączających (do pliku, konsoli, serwera pocztowego itp.). Każdy z tych dołączających może określić próg. Możesz na przykład ograniczyć komunikaty w konsoli do błędów, ale zaakceptować komunikaty ostrzegawcze w pliku dziennika.
źródło
Próg to drugi filtr dla komunikatów, które mają być rejestrowane
na przykład:
jeśli program Logger jest ustawiony na poziomie DEBUG, a próg programu dołączającego jest ustawiony na błąd, wówczas w przypadku modułu dołączającego TextProcessor rejestrowane byłyby tylko komunikaty o błędach i wyższej wadze.
Użycie progu polega na tym, że możesz zdefiniować różnych appenderów z różnymi poziomami progów, np. W powyższym przykładzie możesz także włączyć InfoLogger z włączonym rejestrowaniem komunikatów poziomu informacji
Aby zrozumieć poziomy, poniżej znajdują się poziomy logowania w log4j:
przejdź do adresu URL, aby uzyskać więcej informacji
źródło
Poziomy rejestrowania są
TRACE
,DEBUG
,INFO
,WARN
,ERROR
iFATAL
. Będziesz mógł wybrać, co ma być logowane na jakim poziomie w kodzie, w zależności od wagi. Na przykład będziesz mieć możliwość rejestrowania wejścia i wyjścia metod, ale możesz wybrać logowanie naDEBUG
poziomie. Pomoże to w debugowaniu kodu, ponieważ domyślnie zostanie on wydrukowany na konsoli (domyślna aplikacja do konsoli jest włączona). Idąc na produkcję można podnieść prógERROR
i uniemożliwić aplikacji wydrukowanie mało przydatnych szczegółów na konsoli lub plikach dziennika.źródło
Zapewnia proste mapowanie z pliku konfiguracyjnego właściwości do przepływu komunikatów dziennika. (Ukryłem kilka linii konfiguracji, aby zminimalizować)
Aby zrozumieć, co to jest, powinieneś wiedzieć, że:
** Jest coś bardziej złożonego w dziedziczeniu i addytywności, ale najpierw powinieneś zacząć od podstawowych i prostych rzeczy.
źródło