Bu çok basit bir soru ama bilgi bulamıyorum.
(Belki de Java çerçeveleri hakkındaki bilgim ciddi şekilde eksiktir)
Application.properties ile günlük tutma seviyesini nasıl ayarlayabilirim? Ve günlük dosyası konumu vb.
Güncelleme: Spring Boot v1.2.0.RELEASE ile başlayarak, application.properties
veya application.yml
içindeki ayarlar geçerlidir. Başvuru kılavuzunun Günlük Düzeyleri bölümüne bakın.
logging.level.org.springframework.web: DEBUG
logging.level.org.hibernate: ERROR
Spring Boot'un önceki sürümleri için bunu yapamazsınız. Bunun için günlük çerçevenizin (log4j, logback) normal yapılandırmasını kullanmanız yeterlidir. Uygun yapılandırma dosyasını (log4j.xml
veya logback.xml
) src/main/resources
dizinine ekleyin ve istediğiniz gibi yapılandırın.
Uygulamayı komut satırından başlatırken --debug
belirterek hata ayıklama günlüğünü etkinleştirebilirsiniz.
Spring Boot, logback.xml dosyanıza basitçe dahil edebileceğiniz base.xml dosyasında bazı varsayılanları, renklendirmeyi vb. yapılandırmak için logback için güzel bir başlangıç noktası da sağlar. (Bu, Spring Boot'taki varsayılan logback.xml dosyasından da önerilir.
<include resource="org/springframework/boot/logging/logback/base.xml"/>
Bunu application.properties dosyanızı kullanarak yapabilirsiniz.
logging.level.=ERROR
-> Kök günlük düzeyini hata olarak ayarlar
...
logging.level.=DEBUG
-> Kök günlük düzeyini DEBUG olarak ayarlar
logging.file=${java.io.tmpdir}/myapp.log
-> Mutlak günlük dosyası yolunu TMPDIR/myapp.log olarak ayarlar
Profilleri kullanarak günlüğe kaydetme ile ilgili aklı başında bir varsayılan application.properties kümesi şöyle olacaktır:
application.properties:
spring.application.name=<your app name here>
logging.level.=ERROR
logging.file=${java.io.tmpdir}/${spring.application.name}.log
application-dev.properties:
logging.level.=DEBUG
logging.file=
Favori IDE'nizde geliştirme yaparken, uygulamanızın çalıştırma/debug yapılandırmasına VM argümanı olarak bir -Dspring.profiles.active=dev
eklemeniz yeterlidir.
Bu, çıktıyı bir günlük dosyasına yazmadan üretimde yalnızca hata günlüğü ve geliştirme sırasında hata ayıklama günlüğü sağlar. Bu, geliştirme sırasında performansı artıracaktır (ve SSD sürücüleri birkaç saatlik çalışmadan kurtaracaktır ;) ).