Konfigurasi Log Default Springboot
SpringBoot di luar kotak dan memberi Anda kerangka logging secara default, menggunakan Commons Logging , tetapi konfigurasi default juga memberikan dukungan untuk log umum, seperti: Java Util Logging, Log4J, Log4J2 dan Logback. Setiap logger dapat menggunakan konsol atau file untuk mengeluarkan konten log melalui konfigurasi.
Output konsol
Mengenai log log, level lima level log pertama adalah level: dari tinggi ke rendah, ERROR , WARN , INFO , DEBUG , dan TRACE , level yang lebih rendah akan menghasilkan informasi tingkat tinggi, dan level tinggi tidak akan menghasilkan informasi tingkat rendah. Misalnya: Jika level diatur ke ERROR , informasi WARN , INFO , dan DEBUG tidak akan menjadi output. Di Springboot, ERROR , WARN dan Level INFO dikonfigurasi secara default ke konsol. Tidak ada tingkat FATAL dalam logback, itu akan diperlakukan sebagai tingkat ERROR .
Kita dapat beralih ke level debug dalam dua cara:
application.properties . Ketika properti ini diatur ke true, logger inti (termasuk wadah tertanam, hibernate, dan spring) akan menghasilkan lebih banyak konten, tetapi log yang Anda terapkan sendiri tidak akan menghasilkan ke tingkat debug.Output berwarna -warni
Springboot mendukung output log warna sejak versi 1.4.0. Jika terminal Anda mendukung ANSI, pengaturan output warna akan membuat log lebih mudah dibaca. Didukung dengan mengatur parameter spring.output.ansi.enabled di application.properties .
NEVER : Nonaktifkan output berwarna ANSI (item default)DETECT : Akan memeriksa apakah terminal mendukung ANSI. Jika ya, gunakan output warna (item yang disarankan)ALWAYS : Selalu gunakan format berwarna ANSI untuk output. Jika terminal tidak mendukungnya, akan ada banyak informasi gangguan. Tidak disarankan untuk menggunakannya.Output file
Konfigurasi default springboot hanya akan output ke konsol dan tidak akan direkam dalam file, tetapi kita biasanya perlu merekam dalam file saat menggunakan lingkungan produksi.
Untuk meningkatkan output file, Anda perlu mengkonfigurasi atribut logging.file atau logging.path di application.properties .
logging.file : Atur file, yang dapat berupa jalur absolut atau jalur relatif. Misalnya: logging.file = my.loglogging.path : Mengatur direktori, file spring.log akan dibuat di bawah direktori ini dan konten log akan ditulis, seperti: logging.path =/var/logFile log akan dipotong pada ukuran 10MB, menghasilkan file log baru. Tingkat defaultnya adalah: kesalahan, peringatkan, info
Kontrol level
Di Springboot, Anda hanya perlu mengkonfigurasi kontrol level untuk menyelesaikan logging di application.properties .
Format Konfigurasi: Logging.Level.*= Level
logging.level : Awalan kontrol level log, * adalah nama paket atau nama loggerLEVEL : Jejak Opsi, Debug, Info, Peringatan, Kesalahan, Fatal, MatiMisalnya:
DEBUG .WARNKonfigurasi Log Kustom
Jika Anda tidak ingin menggunakan konfigurasi default, cukup tambahkan file konfigurasi log Anda sendiri. Karena layanan logging biasanya diinisialisasi sebelum ApplicationContext dibuat, mereka tidak harus dikontrol melalui file konfigurasi Spring . Oleh karena itu, kontrol dan manajemen log masih dapat didukung dengan baik melalui properti sistem dan file konfigurasi eksternal Spring Boot Tradisional.
Bergantung pada sistem logging yang berbeda, Anda dapat mengatur nama file konfigurasi sesuai dengan aturan berikut dan dapat dimuat dengan benar:
Rekomendasi resmi Springboot untuk menggunakan nama file dengan -spring sebagai konfigurasi log Anda (seperti menggunakan logback-spring.xml alih -alih logback.xml)
Format output khusus
Di Springboot, Anda dapat mengontrol format output dengan mengkonfigurasi parameter berikut di application.properties :
logging.pattern.console : Menentukan output gaya ke konsol (JDK Logger tidak didukung)logging.pattern.file : Menentukan gaya output ke file (JDK Logger tidak didukung)Format ini juga dapat didefinisikan secara langsung dalam file konfigurasi log, daripada di file konfigurasi aplikasi.
Templat file konfigurasi logback umum
<?xml version="1.0" encoding="UTF-8"?><configuration> <!--Define the storage address of the log file and do not use relative paths in the configuration of LogBack --> <property name="LOG_HOME" value="d:/logs"/> <!-- Color log dependency rendering class --> <conversionRule conversionWord="clr" converterclass = "org.springframework.boot.logging.logback.colorconverter"/> <konversionrule konversionword = "wex" converterclass = "org.springframework.boot.logging.logback.whinseSpacAnpleProxyproxyConVerter"/<bootrging converterclass = "org.springframework.boot.logging.logback.ExtEdedWhitespacethrowableProxyConverter"/> <!-Format log warna-> <nama properti = "console_log_pattern" value = "$ {console_log_pattern:-%clr (%d {yy-mm Hh: mm: ss.sss}) {faint} %clr ($ {log_level_pattern:- %5p}) %clr ($ {pid:-}) {magenta} %clr (-) {faint} %clr ([ %15.15t]) {faint} %clr ( %-40.40Logger {39}) {cyan} %clr (:) {faint} %m %n $ {log_exception_conversion_word:- %WEX}} "/<!-Pengaturan output Konsol-> <Appent name =" konsol "> <encoder> <! %-5level: Level displays 5 characters from the left %msg: log message, %n is a newline character --> <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>--> <pattern>${CONSOLE_LOG_PATTERN}</pattern> <CHARSET> UTF8 </CHARSET> </CODODER> </PREPENDER> <!-Hasilkan file log setiap hari-> <appender name = "file"> <lollingpolicy> <!-output nama file dengan file log-> <filenamepattern> $ {log_home} /mixedsys.%d {yyy-mmmmmmmy. <Coderer> <poler> %d {yyyy-mm-dd hh: mm: ss.sss} [ %utas] %-5Level %Logger {36}- %msg %n </poler> </encoder> </appenter> <! name = "org.springframework.web.servlet.mvc.method.annotation.ExceptionHandLerExceptionResolver" level = "debug"> <appender-pref ref = "console" /> <orgringpr ref = "file" /> < /logger> <logger name " /org. Hibernate sql--> <!-- <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" /> <logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG" /> <logger name="org.hibernate.SQL" level="DEBUG" /> <logger name="org.hibernate.engine.QueryParameters" level="DEBUG" /> <logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" /> --> <!-- Log output level --> <root level="INFO"> <!-- At this time, the debug level information will be filtered--> <appender-ref ref="console" /> <Appender-Ref Ref = "File"/> </root> <!-Log secara tidak sinkron ke database-> <!-<Appent name = "db"> log secara asinkron ke database <nectionSource> pool </DataSource> <driverclass> com.mysql.jdbc.driver </driverclass> <rerl> jdbc: mysql: //127.0.0.1: 3306/databaseName </RURL> <User> root </user> <swasword> root </swasward> </dateSource> </ConnectionSource> </pesperpender> </Configuration>Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.