Spring Boot Dersleri : Logging Level İşlemleri
Spring Boot Dersleri‘ne devam ediyoruz.
Projemizdeki akışı ve problemleri takip etme açısından loglama işlemleri oldukça önemli. Spring Boot ile loglama işlemi oldukça kolay. Spring Boot’ta zor olan bir işlem yok diyebilirim. (: Spring Boot Logging işelmi için default olarak Logback kullanır ancak diğer logging kütüphaneleri ile de uyumlu bir şekilde çalışmaktadır.
Spring Boot projelerinde Logging işlemini etkinleştirmek için yapmamız gereken application.properties ya da application.yml dosyasına:
logging.level.root=INFO logging.level.org.springframework.web=DEBUG logging.level.org.hibernate=ERROR logging.level.guru.springframework.controllers=DEBUG logging.level.org.springframework.security= DEBUG logging.level.com.burakkutbay.blog=TRACE
ekleyerek logging işlemini başlatabilirsiniz.
Son satırda projenizin bulunduğu class paketini TRACE log düzeyinde, projenin ana dizinini ize INFO düzeyinde loglanmasını istedik. Kullandığımız kütüphanelerin her birini farklı log düzeylerine Bu farklı düzeylerdeki logging seviyeleri hangi durumlarda log işleneceğinin yani loglama hassasyetini belirlemektedir. OFF log işleminin kapalı TRACE seviyesi ise her işlemin logging işlemine tabi tutulması anlamına gelir. Logging işlemi için log düzeyleri şu şekildedir.
Log Düzeyleri
- OFF
- FATAL
- ERROR
- WARN
- INFO
- DEBUG
- TRACE
Konsolda Logging takibi için log düzeylerinin
Düzey | Renk |
---|---|
FATAL | Kırmızı |
ERROR | Kırmızı |
WARN | Sarı |
INFO | Yeşil |
DEBUG | Yeşil |
TRACE | Yeşil |
Normalde logging işlemleri default olarak konsola yazılır. Ancak konsola yazılan bu log bilgilerini bir dosyaya’da yazdırmanız mümkün olmaktadır. Depolanmasını istediğiniz logging dosyamızın nerede tutulacağını da application.properties dosyasında belirleyebiliriz.
logging.file=/log/proje.log
Diğer kullanımı ise;
logging.path=/log/proje.log
şeklindedir.
application.properites dosyasından hariç kullandığımız Logging kütüphanesine özel bir dosyaya yazabiliriz. Aşağıdaki tabloda kullandığımız kütüphaneye göre log ayarlaması yaparak aşağıdaki isimler ile kaydedildiğinde Spring aşağıdaki adlar ile yazılmış olan konfigürasyon dosyalarını otomatik olarak tanımaktadır.
Logging System | Customization |
---|---|
Logback | logback-spring.xml , logback-spring.groovy , logback.xml or logback.groovy |
Log4j2 | log4j2-spring.xml or log4j2.xml |
JDK (Java Util Logging) | logging.properties |
Bunların haricinde farklı bir isim ile kaydebiliyoruz ve Spring’in bu custom dosyayı tanıması için application.properties dosyasına;
logging.config=custom-conf.xml
Konfig dosyası oluştuktan sonra konsolda görmeye başlayacağımız görüntü şuna benzeyecek.
2014-03-05 10:57:51.112 INFO 45469 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/7.0.52 2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1358 ms 2014-03-05 10:57:51.698 INFO 45469 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/] 2014-03-05 10:57:51.702 INFO 45469 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
Konsolda yazılan Logging dosyasına çıkacak yazıların formatını belirlemekteyiz.
logging.pattern.console=%d{yyyy-MMM-dd HH:mm:ss.SSS}{blue} %-5level [%thread] %logger{15} - %msg%n
Konsolda sadece tarih bilgisi ve saat ile dakika bilgisi gösterecek olup mavi renkte gösterecektir.
Önceki Ders: Spring Boot Actuator Nedir? Kullanımı | Spring Boot Dersleri | Sonraki Ders: Context Path Değiştirmek |
No Comment! Be the first one.