Rumah Java javaTutorial 详解有关Spring Boot的日志管理

详解有关Spring Boot的日志管理

Aug 22, 2017 pm 04:43 PM
boot spring mengurus

前言TFhHTML5中文学习网 - HTML5先行者学习网

Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,TFhHTML5中文学习网 - HTML5先行者学习网
如:Java Util Logging,Log4J, Log4J2和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容。TFhHTML5中文学习网 - HTML5先行者学习网

日志输出格式TFhHTML5中文学习网 - HTML5先行者学习网

2016-08-19 10:22:04.233 INFO 7368 --- [   main] com.juzi.AsyncTest      : Started AsyncTest in 10.084 seconds (JVM running for 12.545)
Salin selepas log masuk

输出内容元素具体如下:TFhHTML5中文学习网 - HTML5先行者学习网

  • 时间日期 ― 精确到毫秒

  • 日志级别 ― ERROR, WARN, INFO, DEBUG or TRACE

  • 进程ID

  • 分隔符 ― ― 标识实际日志的开始

  • 线程名 ― 方括号括起来(可能会截断控制台输出)

  • Logger名 ― 通常使用源代码的类名

  • 日志内容

控制台输出TFhHTML5中文学习网 - HTML5先行者学习网

在Spring Boot中默认配置了ERROR、WARN和INFO级别的日志输出到控制台。TFhHTML5中文学习网 - HTML5先行者学习网

我们可以通过两种方式切换至DEBUG级别:TFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     1.在运行命令后加入debug标志,如:$ java -jar myapp.jar debugTFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     2.在application.properties中配置debug=true,该属性置为true的时候,核心Logger(包含嵌入式容器、hibernate、spring)会输出更多内容,但是你自己应用的日志并不会输出为DEBUG级别。TFhHTML5中文学习网 - HTML5先行者学习网

多彩输出TFhHTML5中文学习网 - HTML5先行者学习网

如果你的终端支持ANSI,设置彩色输出会让日志更具可读性。通过在application.properties中设置spring.output.ansi.enabled参数来支持。TFhHTML5中文学习网 - HTML5先行者学习网

     1.NEVER:禁用ANSI-colored输出(默认项)TFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     2.DETECT:会检查终端是否支持ANSI,是的话就采用彩色输出(推荐项)TFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     3.ALWAYS:总是使用ANSI-colored格式输出,若终端不支持的时候,会有很多干扰信息,不推荐使用TFhHTML5中文学习网 - HTML5先行者学习网

文件输出TFhHTML5中文学习网 - HTML5先行者学习网

Spring Boot默认配置只会输出到控制台,并不会记录到文件中,但是我们通常生产环境使用时都需要以文件方式记录。TFhHTML5中文学习网 - HTML5先行者学习网

若要增加文件输出,需要在application.properties中配置logging.filelogging.path属性。TFhHTML5中文学习网 - HTML5先行者学习网

     1.logging.file,设置文件,可以是绝对路径,也可以是相对路径。如:logging.file=my.logTFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     2.logging.path,设置目录,会在该目录下创建spring.log文件,并写入日志内容,如:logging.path=/var/logTFhHTML5中文学习网 - HTML5先行者学习网

日志文件会在10Mb大小的时候被截断,产生新的日志文件,默认级别为:ERROR、WARN、INFO *TFhHTML5中文学习网 - HTML5先行者学习网

级别控制TFhHTML5中文学习网 - HTML5先行者学习网

在Spring Boot中只需要在application.properties中进行配置完成日志记录的级别控制。TFhHTML5中文学习网 - HTML5先行者学习网

配置格式:logging.level.*=LEVELTFhHTML5中文学习网 - HTML5先行者学习网

     1.logging.level:日志级别控制前缀,*为包名或Logger名TFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     2.LEVEL:选项TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFFTFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

举例:TFhHTML5中文学习网 - HTML5先行者学习网

logging.level.com.juzi=DEBUG com.juzi包下所有class以DEBUG级别输出TFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

logging.level.root=WARN root日志以WARN级别输出TFhHTML5中文学习网 - HTML5先行者学习网

自定义日志配置TFhHTML5中文学习网 - HTML5先行者学习网

由于日志服务一般都在ApplicationContext创建前就初始化了,它并不是必须通过Spring的配置文件控制。TFhHTML5中文学习网 - HTML5先行者学习网
因此通过系统属性和传统的Spring Boot外部配置文件依然可以很好的支持日志控制和管理。TFhHTML5中文学习网 - HTML5先行者学习网

根据不同的日志系统,你可以按如下规则组织配置文件名,就能被正确加载:TFhHTML5中文学习网 - HTML5先行者学习网

     1.Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy logback日志配置TFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     2.Log4j:log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xmlTFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     3.Log4j2:log4j2-spring.xml, log4j2.xmlTFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     4.JDK (Java Util Logging):logging.propertiesTFhHTML5中文学习网 - HTML5先行者学习网

Spring Boot官方推荐优先使用带有-spring的文件名作为你的日志配置(如使用logback-spring.xml,而不是logback.xml)TFhHTML5中文学习网 - HTML5先行者学习网

自定义输出格式TFhHTML5中文学习网 - HTML5先行者学习网

在Spring Boot中可以通过在application.properties配置如下参数控制输出格式:TFhHTML5中文学习网 - HTML5先行者学习网

     1.logging.pattern.console:定义输出到控制台的样式(不支持JDK Logger)TFhHTML5中文学习网 - HTML5先行者学习网
TFhHTML5中文学习网 - HTML5先行者学习网

     2.logging.pattern.file:定义输出到文件的样式(不支持JDK Logger)

TFhHTML5中文学习网 - HTML5先行者学习网

Atas ialah kandungan terperinci 详解有关Spring Boot的日志管理. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1663
14
Tutorial PHP
1266
29
Tutorial C#
1239
24
Fail ISO Windows terlalu besar ralat BootCamp [Tetap] Fail ISO Windows terlalu besar ralat BootCamp [Tetap] Feb 19, 2024 pm 12:30 PM

Jika anda mendapat mesej ralat "Fail ISO Windows terlalu besar" apabila menggunakan BootCampAssistant pada komputer Mac, ini mungkin kerana saiz fail ISO melebihi had yang disokong oleh BootCampAssistant. Penyelesaian kepada masalah ini ialah menggunakan alat lain untuk memampatkan saiz fail ISO untuk memastikan ia boleh diproses dalam Pembantu BootCamp. BootCampAssistant ialah alat mudah yang disediakan oleh Apple untuk memasang dan menjalankan sistem pengendalian Windows pada komputer Mac. Ia membantu pengguna menyediakan sistem dwi-but, membolehkan mereka dengan mudah memilih untuk menggunakan MacOS atau Wind pada permulaan

Paradigma pengaturcaraan baharu, apabila Spring Boot bertemu OpenAI Paradigma pengaturcaraan baharu, apabila Spring Boot bertemu OpenAI Feb 01, 2024 pm 09:18 PM

Pada tahun 2023, teknologi AI telah menjadi topik hangat dan memberi impak besar kepada pelbagai industri, terutamanya dalam bidang pengaturcaraan. Orang ramai semakin menyedari kepentingan teknologi AI, dan komuniti Spring tidak terkecuali. Dengan kemajuan berterusan teknologi GenAI (General Artificial Intelligence), ia menjadi penting dan mendesak untuk memudahkan penciptaan aplikasi dengan fungsi AI. Dengan latar belakang ini, "SpringAI" muncul, bertujuan untuk memudahkan proses membangunkan aplikasi berfungsi AI, menjadikannya mudah dan intuitif serta mengelakkan kerumitan yang tidak perlu. Melalui "SpringAI", pembangun boleh membina aplikasi dengan lebih mudah dengan fungsi AI, menjadikannya lebih mudah untuk digunakan dan dikendalikan.

Gunakan Spring Boot dan Spring AI untuk membina aplikasi kecerdasan buatan generatif Gunakan Spring Boot dan Spring AI untuk membina aplikasi kecerdasan buatan generatif Apr 28, 2024 am 11:46 AM

Sebagai peneraju industri, Spring+AI menyediakan penyelesaian terkemuka untuk pelbagai industri melalui API yang berkuasa, fleksibel dan fungsi lanjutannya. Dalam topik ini, kami akan menyelidiki contoh aplikasi Spring+AI dalam pelbagai bidang Setiap kes akan menunjukkan cara Spring+AI memenuhi keperluan khusus, mencapai matlamat dan meluaskan LESSONSLEARNED ini kepada rangkaian aplikasi yang lebih luas. Saya harap topik ini dapat memberi inspirasi kepada anda untuk memahami dan menggunakan kemungkinan Spring+AI yang tidak terhingga dengan lebih mendalam. Rangka kerja Spring mempunyai sejarah lebih daripada 20 tahun dalam bidang pembangunan perisian, dan sudah 10 tahun sejak versi Spring Boot 1.0 dikeluarkan. Sekarang, tiada siapa boleh mempertikaikan Spring itu

Apakah kaedah pelaksanaan transaksi program musim bunga? Apakah kaedah pelaksanaan transaksi program musim bunga? Jan 08, 2024 am 10:23 AM

Cara melaksanakan transaksi terprogram musim bunga: 1. Gunakan TransactionTemplate 2. Gunakan TransactionCallback dan TransactionCallbackWithoutResult 3. Gunakan anotasi Transaksional;

Cara menetapkan tahap pengasingan transaksi dalam Spring Cara menetapkan tahap pengasingan transaksi dalam Spring Jan 26, 2024 pm 05:38 PM

Cara menetapkan tahap pengasingan transaksi dalam Spring: 1. Gunakan anotasi @Transactional 2. Tetapkan dalam fail konfigurasi Spring 3. Gunakan PlatformTransactionManager 4. Tetapkan dalam kelas konfigurasi Java. Pengenalan terperinci: 1. Gunakan anotasi @Transactional, tambah anotasi @Transactional pada kelas atau kaedah yang memerlukan pengurusan transaksi dan tetapkan tahap pengasingan dalam atribut 2. Dalam fail konfigurasi Spring, dsb.

Apa yang perlu dilakukan jika pengurusan menu klik kanan tidak boleh dibuka dalam Windows 10 Apa yang perlu dilakukan jika pengurusan menu klik kanan tidak boleh dibuka dalam Windows 10 Jan 04, 2024 pm 07:07 PM

Apabila kami menggunakan sistem win10, apabila kami menggunakan tetikus untuk mengklik kanan desktop atau menu klik kanan, kami mendapati bahawa menu tidak boleh dibuka, dan kami tidak boleh menggunakan komputer seperti biasa Pada masa ini, kami perlu memulihkan sistem untuk menyelesaikan masalah. Pengurusan menu klik kanan Win10 tidak boleh dibuka: 1. Mula-mula buka panel kawalan kami, dan kemudian klik. 2. Kemudian klik di bawah Keselamatan dan Penyelenggaraan. 3. Klik di sebelah kanan untuk memulihkan sistem. 4. Jika ia masih tidak boleh digunakan, periksa sama ada terdapat masalah dengan tetikus itu sendiri. 5. Jika anda pasti tiada masalah dengan tetikus, tekan + dan masukkan. 6. Selepas pelaksanaan selesai, mulakan semula komputer.

Anotasi Musim Bunga Didedahkan: Analisis Anotasi Biasa Anotasi Musim Bunga Didedahkan: Analisis Anotasi Biasa Dec 30, 2023 am 11:28 AM

Spring ialah rangka kerja sumber terbuka yang menyediakan banyak anotasi untuk memudahkan dan meningkatkan pembangunan Java. Artikel ini akan menerangkan anotasi Spring yang biasa digunakan secara terperinci dan memberikan contoh kod khusus. @Autowired: Autowired @Autowired anotasi boleh digunakan untuk wayar secara automatik dalam bekas Spring. Apabila kami menggunakan anotasi @Autowired di mana kebergantungan diperlukan, Spring akan mencari kacang yang sepadan dalam bekas dan menyuntiknya secara automatik. Kod sampel adalah seperti berikut: @Auto

Panduan penggunaan rangka kerja kawalan kebenaran Spring Security Panduan penggunaan rangka kerja kawalan kebenaran Spring Security Feb 18, 2024 pm 05:00 PM

Dalam sistem pengurusan bahagian belakang, kawalan kebenaran akses biasanya diperlukan untuk mengehadkan keupayaan pengguna yang berbeza untuk mengakses antara muka. Jika pengguna tidak mempunyai kebenaran khusus, dia tidak boleh mengakses antara muka tertentu. Artikel ini akan menggunakan projek waynboot-mall sebagai contoh untuk memperkenalkan cara memperkenalkan rangka kerja kawalan kebenaran SpringSecurity ke dalam sistem pengurusan back-end biasa. Garis besarnya adalah seperti berikut: alamat projek waynboot-mall: https://github.com/wayn111/waynboot-mall 1. Apakah SpringSecurity SpringSecurity ialah projek sumber terbuka berdasarkan rangka kerja Spring, bertujuan untuk menyediakan keselamatan yang berkuasa dan fleksibel untuk aplikasi Java.

See all articles