1. Gambaran keseluruhan
Biasanya, log konsol memberi kita peluang untuk men-debug sistem kami dengan cara yang mudah dan intuitif. Walaupun begitu, ada kalanya kita tidak mahu mengaktifkan fitur ini dalam sistem kita.
Dalam tutorial ringkas ini, kita akan melihat cara mengelakkan masuk ke konsol semasa menjalankan aplikasi Spring Boot .
Kami akan mempermudahnya dengan contoh langsung ke titik yang menunjukkan bagaimana mencapainya, sama ada menggunakan Logback, Log4js2, atau bahkan kerangka kerja Java Util Logging.
Untuk mengetahui lebih lanjut mengenai rangka kerja pembalakan untuk Spring Boot, kami sarankan untuk melihat tutorial Logging in Spring Boot kami.
2. Cara Melumpuhkan Output Konsol untuk Log Balik
Sekiranya projek kami menggunakan pemula Spring Boot, maka pergantungan pembalakan spring-boot-starter akan disertakan juga.
Permulaan khusus ini mengkonfigurasi Logback sebagai kerangka lalai dan pada mulanya hanya log ke konsol secara lalai.
Konfigurasi ini dapat disesuaikan dengan menambahkan fail logback-spring.xml ke sumber kami.
Sebagai contoh, mari kita siapkan XML untuk mematikan output konsol dan log hanya ke fail:
Selain itu, kami memerlukan harta konfigurasi logging.file dalam fail application.properties kami :
logging.file=baeldung-disabled-console.log
Nota: apa yang sebenarnya melumpuhkan output konsol di sini adalah hakikat bahawa kita tidak memasukkan console-appender.xml dalam XML kamifail, jadi teg konfigurasi kosong juga akan melakukan muslihat.
Sebagai alternatif, kita tidak boleh membuat XMLfail dengan mengatasi konfigurasi lalai dengan sifat aplikasi .
Sebagai contoh, kita berpotensi memanfaatkan harta logging.pattern.console :
logging.pattern.console=
Properti ini diterjemahkan ke sifat sistem CONSOLE_LOG_PATTERN , yang kemudian digunakan oleh konfigurasi konsol lalai Spring.
Pendekatan ini, tentu saja, tidak bersih dan padat seperti yang sebelumnya . Ini bukan tujuan yang dimaksudkan dari harta itu, oleh itu 'peretasan' ini mungkin tidak disokong oleh Logback pada suatu ketika.
Selanjutnya, kita dapat mematikan semua aktiviti pembalakan dengan menetapkan nilai tahap log log ke OFF :
logging.level.root=OFF
3. Cara Mengelakkan Log masuk di Konsol dengan Log4j2
Seperti yang kita ketahui, Log4j2 menyokong format XML, JSON, YAML, atau sifat untuk mengkonfigurasi tingkah laku pembalakannya.
Demi kesederhanaan, kami akan menunjukkan contoh ringkas fail log4j2.xml kali ini.
Format lain menghormati struktur konfigurasi yang sama:
Seperti penyediaan Logback, alasan mengapa kerangka kerja mengelakkan log ke konsol bukanlah konfigurasi 'per se', tetapi kenyataan bahawa Root Logger tidak mengandungi rujukan ke Append Append.
4. Cara Menonaktifkan Log Konsol untuk Java Util Logging
Java Util Logging (atau hanya 'JUL') mungkin bukan penyelesaian pembalakan yang paling popular untuk aplikasi Spring Boot pada masa ini.
Bagaimanapun, kami akan menganalisis bagaimana kami dapat menyingkirkan log konsol, sekiranya kerangka kerja ada dalam projek kami.
Yang harus kita lakukan ialah menambahkan nilai-nilai berikut ke logging.properties lalai di folder sumber kita:
handlers=java.util.logging.FileHandler java.util.logging.FileHandler.pattern=baeldung.log java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
Dan sertakan harta logging.file dalam fail application.properties kami . Nilai apa pun akan berjaya:
logging.file=true
5. Kesimpulan
Dengan contoh ringkas ini, kita sekarang dapat mematikan log konsol dalam aplikasi kita dengan cara yang tidak perlu, tidak kira kerangka kerja log apa yang kita gunakan.
Seperti biasa, kami dapat mencari penerapan contoh di repositori Github kami.