Cara Menonaktifkan Masuk Konsol di Spring Boot

1. Ikhtisar

Biasanya, log konsol memberi kami kesempatan untuk men-debug sistem kami dengan cara yang mudah dan intuitif. Namun demikian, ada kalanya kami tidak ingin mengaktifkan fitur ini di sistem kami.

Dalam tutorial singkat ini, kita akan melihat bagaimana menghindari masuk ke konsol saat menjalankan aplikasi Spring Boot .

Kami akan membuatnya tetap sederhana dengan contoh langsung ke poin yang menunjukkan cara mencapai ini, apakah kami menggunakan Logback, Log4js2, atau bahkan kerangka kerja Java Util Logging.

Untuk mempelajari lebih lanjut tentang kerangka logging untuk Spring Boot, kami sarankan untuk melihat tutorial Logging di Spring Boot kami.

2. Cara Menonaktifkan Output Konsol untuk Logback

Jika proyek kami menggunakan permulaan Spring Boot, maka dependensi spring-boot-starter-logging akan disertakan juga.

Pemula khusus ini mengonfigurasi Logback sebagai framework default dan awalnya hanya membuat log ke konsol secara default.

Konfigurasi ini dapat disesuaikan dengan menambahkan file logback-spring.xml ke sumber daya kami.

Misalnya, mari kita siapkan XML untuk menonaktifkan keluaran konsol dan hanya masuk ke file:

Selain itu, kita memerlukan properti konfigurasi logging.file di file application.properties :

logging.file=baeldung-disabled-console.log

Catatan: apa yang sebenarnya menonaktifkan output konsol di sini adalah fakta bahwa kami tidak menyertakan console-appender.xml dalam XML kamifile, jadi tag konfigurasi kosong juga akan melakukan trik.

Alternatifnya, kita bisa menghindari pembuatan XMLfile dengan mengganti konfigurasi default dengan properti aplikasi .

Misalnya, kita berpotensi dapat menggunakan properti logging.pattern.console :

logging.pattern.console=

Properti ini diterjemahkan ke properti sistem CONSOLE_LOG_PATTERN , yang kemudian digunakan oleh konfigurasi konsol default Spring.

Pendekatan ini, tentu saja, tidak sebersih dan sekokoh yang sebelumnya . Ini bukan tujuan yang dimaksudkan dari properti, sehingga 'peretasan' ini mungkin tidak didukung oleh Logback di beberapa titik.

Selanjutnya, kita dapat menonaktifkan semua aktivitas logging dengan mengatur nilai level root logger ke OFF :

logging.level.root=OFF

3. Cara Menghindari Masuk ke Konsol dengan Log4j2

Seperti yang kita ketahui, Log4j2 mendukung format XML, JSON, YAML, atau properti untuk mengonfigurasi perilaku loggingnya.

Demi kesederhanaan, kali ini kami hanya akan menunjukkan contoh sederhana dari file log4j2.xml .

Format lain mengikuti struktur konfigurasi yang sama:

Seperti pengaturan Logback, alasan mengapa framework menghindari logging ke konsol bukanlah karena konfigurasi 'per se', tetapi fakta bahwa Root Logger tidak berisi referensi ke Console Appender.

4. Cara Menonaktifkan Pencatatan Konsol untuk Java Util Logging

Java Util Logging (atau hanya 'JUL') mungkin bukan solusi logging paling populer untuk aplikasi Spring Boot saat ini.

Bagaimanapun, kami akan menganalisis bagaimana kami dapat menghapus log konsol, jika kerangka kerja ada dalam proyek kami.

Yang harus kita lakukan adalah menambahkan nilai berikut ke default logging.properties di folder resource kita:

handlers=java.util.logging.FileHandler java.util.logging.FileHandler.pattern=baeldung.log java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter

Dan sertakan properti logging.file di file application.properties kita . Nilai apa pun akan berhasil:

logging.file=true

5. Kesimpulan

Dengan contoh singkat ini, kami sekarang dapat menonaktifkan log konsol di aplikasi kami dengan cara yang tidak merepotkan, apa pun kerangka kerja logging yang kami gunakan.

Seperti biasa, kami dapat menemukan implementasi contoh di repositori Github kami.