To bardzo proste pytanie, ale nie mogę znaleźć informacji.
(Być może brakuje mi mojej wiedzy na temat środowisk Java)
Jak ustawić poziom rejestrowania za pomocą application.properties?
Lokalizacja logowania pliku itp.?
logging
spring-boot
zeodtr
źródło
źródło
Settings
->Config Vars
ustawlogging.level.com.yourpackage
żądany poziom (INFO, BŁĄD, DEBUG).Odpowiedzi:
Aktualizacja: Począwszy od wersji Spring Boot 1.2.0. ZWOLNIJ, ustawienia w
application.properties
lubapplication.yml
obowiązują. Zobacz sekcję Poziomy dziennika w podręczniku.W przypadku wcześniejszych wersji Spring Boot nie możesz. W tym celu wystarczy użyć normalnej konfiguracji środowiska rejestrowania (log4j, logback). Dodaj odpowiedni plik konfiguracyjny (
log4j.xml
lublogback.xml
) dosrc/main/resources
katalogu i skonfiguruj według własnych upodobań.Można włączyć rejestrowanie debugowania, określając
--debug
podczas uruchamiania aplikacji z wiersza polecenia.Spring Boot stanowi również dobry punkt wyjścia dla logback do skonfigurowania niektórych ustawień domyślnych, kolorowania itp. Pliku base.xml , który można po prostu dołączyć do pliku logback.xml. (Jest to również zalecane z domyślnego pliku logback.xml w Spring Boot.
źródło
application.properties
lubapplication.yml
działają, zgodnie z odpowiedzią Richarda (modulo:
lub=
problem --- dwukropek wydaje się działać dla mnie).Możesz to zrobić za pomocą pliku application.properties.
logging.level.=ERROR
-> Ustawia poziom rejestrowania root na błąd...
logging.level.=DEBUG
-> Ustawia poziom rejestrowania root na DEBUGlogging.file=${java.io.tmpdir}/myapp.log
-> Ustawia bezwzględną ścieżkę pliku dziennika na TMPDIR / myapp.logDomyślny rozsądny zestaw application.properties dotyczący rejestrowania przy użyciu profili to: application.properties:
application-dev.properties:
Kiedy tworzysz w swoim ulubionym IDE, po prostu dodajesz
-Dspring.profiles.active=dev
argument jako VM do konfiguracji uruchamiania / debugowania twojej aplikacji.To da ci tylko błąd przy logowaniu produkcyjnym i debugowaniu podczas programowania BEZ zapisywania danych wyjściowych do pliku dziennika. Poprawi to wydajność podczas programowania (i zaoszczędzi dyski SSD kilka godzin pracy;)).
źródło
logging.level.:DEBUG
spring-boot 1.4.0
:logging.level.=DEBUG
spowoduje, że aplikacja się nie uruchomi i pojawi się błąd:java.lang.ClassCircularityError: java/util/logging/LogRecord
logging.level.
jest tylko wygodnym skrótem syntaktycznymlogging.level.root
, który można preferować jako (1) mniej podatny na pomyłkę z literówką, (2) potencjalnie bardziej wyraźny i (3) pracę ze=
znakiem przypisania, który zapewnia większą ogólną spójność do pliku konfiguracyjnego.Właściwym sposobem ustawienia głównego poziomu rejestrowania jest użycie właściwości
logging.level.root
. Zobacz dokumentację , która została zaktualizowana od momentu pierwotnego pytania.Przykład:
źródło
Załóżmy, że aplikacja ma nazwę pakietu jako
com.company.myproject
. Następnie możesz ustawić poziom rejestrowania klas w projekcie, jak podano poniżej w plikach application.propertieslogging.level.org.springframework.web = DEBUG
ilogging.level.org.hibernate = DEBUG
ustawi poziom rejestrowania tylko dla klas Spring Framework Web i Hibernacji.Aby ustawić lokalizację pliku dziennika, użyj
źródło
Jeśli korzystasz z Spring Boot, możesz bezpośrednio dodać następujące właściwości do pliku application.properties , aby ustawić poziom rejestrowania, dostosować wzorzec rejestrowania i przechowywać dzienniki w pliku zewnętrznym.
Są to różne poziomy rejestrowania i ich kolejność od minimum << maksimum.
OFF << FATAL << ERROR << WARN << INFO << DEBUG << TRACE << ALL
Przekaż ten link, aby bardziej dynamicznie dostosować swój dziennik.
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html
źródło
Upewnienie się, że wskazówka Dave Syer zyska trochę miłości, ponieważ dodanie
debug=true
do application.properties rzeczywiście umożliwi rejestrowanie debugowania.źródło
Na przykład, jeśli chcesz użyć innej struktury rejestrowania, na przykład log4j, najłatwiejszym sposobem jest wyłączenie rejestrowania własnego rozruchu i wdrożenie własnego. W ten sposób mogę skonfigurować każdy loglevel w jednym pliku, to znaczy log4j.xml (w moim przypadku).
Aby to osiągnąć, wystarczy dodać te linie do pliku pom.xml:
Prawdopodobnie masz już pierwszą zależność i potrzebujesz tylko dwóch pozostałych. Pamiętaj, że ten przykład dotyczy tylko log4j.
To wszystko, teraz możesz już skonfigurować rejestrowanie rozruchu w pliku konfiguracyjnym log4j!
źródło
log4j.properties
.Możesz spróbować ustawić poziom dziennika na DEBUG, że pokaże wszystko podczas uruchamiania aplikacji
źródło
Do dokumentacji: oficjalna dokumentacja , jak w przypadku Spring Boot v1.2.0.RELEASE i Spring v4.1.3.RELEASE:
źródło
Jeśli chcesz ustawić więcej szczegółów, dodaj nazwę pliku konfiguracji dziennika „logback.xml” lub „logback-spring.xml”.
w pliku application.properties wprowadź następujące dane:
w pliku loback-spring.xml wprowadź następujące dane:
źródło
Istniejące odpowiedzi są świetne. Chcę tylko udostępnić Ci nową funkcję wiosennego rozruchu, która pozwala grupować dzienniki i ustawiać poziom rejestrowania dla całej grupy.
Przykład z dokumentów:
To miła funkcja, która zapewnia większą elastyczność.
źródło
W mojej obecnej konfiguracji mam to zdefiniowane w application.yaml w następujący sposób :
Używam Spring-boot: 2.2.0. RELEASE. Możesz zdefiniować dowolny pakiet, który powinien mieć taki poziom TRACE.
źródło
w projekcie rozruchu wiosennego możemy napisać logowanie.level.root = OSTRZEŻENIE, ale tutaj jest problem, musimy ponownie uruchomić ponownie, nawet dodaliśmy zależność devtools, w pliku właściwości, jeśli zostanie zmodyfikowana, żadna wartość nie będzie automatycznie wykrywalna, dla tego ograniczenia poznałem rozwiązanie tj. możemy dodać siłownik w pom.xml i przekazać poziom rejestratora, jak pokazano poniżej w kliencie listonosza w pasku adresu URL http: // localhost: 8080 / loggers / ROOT lub http: // localhost: 8080 / loggers / com .mojafirma iw ciele możesz przekazać format json jak poniżej
źródło
W przypadku zaćmienia IDE, a Twój projekt jest cudowny, pamiętaj o wyczyszczeniu i zbudowaniu projektu, aby odzwierciedlić zmiany.
źródło
Za pomocą Springboot 2 możesz ustawić Poziom rejestrowania katalogu głównego za pomocą Zmiennej Środowiska w następujący sposób:
Lub możesz ustawić określone rejestrowanie dla pakietów takich jak ten:
źródło
LOGGING_LEVEL_ROOT=DEBUG