Warnai log di konsol gerhana


105

Apakah ada cara untuk mewarnai bagian log di konsol gerhana. Saya tahu saya dapat mengirim ke kesalahan dan aliran standar dan mewarnainya secara berbeda tetapi saya lebih mencari sesuatu di baris kode pelarian ANSI (atau yang lainnya, HTML?) Di mana saya dapat menyematkan warna dalam string agar diwarnai di log.

Ini pasti akan membantu membuat bit penting menonjol tanpa menggunakan tata letak yang aneh, lebih baik pertahankan tata letak ke pengaturan log4j

berikut adalah contoh dari apa yang saya cari:

[INFO] Kisi selesai ....... salah

di mana bagian tebal akan berwarna biru, pewarnaan ini dapat dikontrol oleh aplikasi sampai batas tertentu. seperti itu (tag bersifat konseptual dan sewenang-wenang, tetapi Anda mendapatkan idenya):

log.info (String.format ("Grid selesai ....... <blue>% s </blue>", isComplete));


Pada catatan yang lebih umum, ini adalah kemampuan untuk menyematkan informasi meta di log untuk membantu presentasi log ini. Sama seperti kita menandai konten halaman web untuk membantu penyajian informasi dengan CSS.


Anda dapat menggunakan MulticolorLayout dari jcabi-log , seperti yang dijelaskan di sini: stackoverflow.com/questions/7848325
yegor256

Menarik! ANSI-Coloring, saya harus melihatnya saat berikutnya saya mengaktifkan Eclipse saya! Terima kasih. Adapun JCabi saya suka mengkontekstualisasikan logger saya dan jarang yang cocok dengan nama kelas jadi saya ragu bungkus statis akan melakukan trik. Saya sering kali perlu menetapkan nama logger secara dinamis ke instance karena hal itu memberi saya penggunaan info logging yang jauh lebih efisien.
Newtopian

Jawaban:


76

Cobalah dengan Plugin Eclipse ini: Grep Console

[Pembaruan] :
Seperti yang ditunjukkan oleh pemberi komentar: Saat menginstal Konsol Grep di versi terakhir Eclipse saat ini, Anda perlu menghapus centang 'Kelompokkan item menurut kategori' di dialog Instal untuk melihat item yang tersedia.
Seperti yang ditunjukkan oleh @Line , plugin sekarang dapat dengan mudah diinstal melalui Eclipse Marketplace lagi tanpa mengubah opsi apa pun.

[Pembaruan 2] :
Seperti yang ditunjukkan oleh @azdev , untuk mendapatkan penyorotan yang tepat:

Memasukkan string literal saja tidak berfungsi. Untuk mendapatkan garis yang akan diwarnai, Anda harus mengapit senar di .* kedua sisi, seperti: .*ERROR.*


3
Plugin tidak bekerja dengan Eclipse (Helios) terbaru.
sorin

1
koreksi tentang plugin yang tidak dikembangkan secara aktif, saya mengajukan beberapa pertanyaan kepada pembuatnya dan mendapat balasan dalam beberapa jam! Adapun pola plugin mengambil ekspresi reguler sehingga beberapa penyesuaian dan penyimpangan diharapkan saat mengonfigurasinya. Saya akan merekomendasikan menginstal plugin ekspresi reguler untuk mencoba dengan ekstrak salinan yang ditempel dari konsol. Setelah dikonfigurasi meskipun berfungsi seperti pesona
Newtopian

2
Jika ada yang mencari dokumentasi untuk Konsol Grep: marian.schedenig.name/wp-content/static/grepconsole_userguide
Danny Bullis

1
Selain itu, jika ada yang membutuhkan bantuan dengan pola regex (tautan bantuan ini juga disertakan dalam dialog Konsol Grep di eclipse): docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern. html
Danny Bullis

1
Harap pertimbangkan untuk menghapus [pembaruan] pertama - sekarang dapat dengan mudah dipasang melalui Marketplace.
Jalur

18

Sebenarnya plugin Konsol ANSI menambahkan dukungan kode escape ANSI ke konsol Eclipse. Saat ini memang ada batasan, di mana kode escape yang menjangkau beberapa baris bocor secara tidak benar ke baris lain saat menggulir, lihat masalah # 3 .

Jika tidak, beberapa plugin tampilan terminal seperti yang dijelaskan dalam pertanyaan lain ini mungkin merupakan opsi untuk beberapa.


Saya menggunakan halaman web mihai-nita.net/2013/06/03/eclipse-plugin-ansi-in-console . Dukungan ansi sederhana yang sempurna di konsol!
tutejszy

9

Seperti yang telah ditunjukkan oleh @Benjamin Grep Console adalah cara yang bagus untuk mewarnai keluaran di Konsol.

Saya telah membuat video pendek untuk mendemonstrasikan cara kerjanya dan mendengar kembali dari Pembuat plugin Konsol Grep. Dia menyebutkan bahwa konsol Grep 3 telah dirilis.

Pemeran layar : http://www.youtube.com/watch?v=fXjgGZAxToc

Perbarui Situs

Grep Console 2
http://eclipse.musgit.com
(memerlukan Eclipse 3.4 (Ganymede) atau lebih tinggi dan Java 5.0 atau lebih tinggi)

Grep Console 3
http://eclipse.schedenig.name
(membutuhkan Eclipse 3.7 (Indigo) atau lebih tinggi dan Java 6.0 atau lebih tinggi)



4

Kami menggunakan plugin Ganymede Eclipse tempat saya bekerja, dan itu berfungsi dengan baik.

http://sourceforge.net/projects/ganymede/

"Plugin log4j ke Eclipse yang bekerja mirip dengan gergaji mesin (SocketServer). Termasuk warna, pemfilteran, informasi rinci, dan menyimpan pengaturan."


Ini adalah plugin yang bagus
sayang

15
Sangat membingungkan untuk memiliki plugin Eclipse yang disebut "ganymede".
JesperE

2

Baca tentang titik ekstensi org.eclipse.ui.console.consolePatternMatchListeners .


1
Itulah cara yang benar untuk melakukannya, tetapi saya pikir poster itu berharap seseorang telah melakukan ini untuk urutan pelarian ansi atau kode warna html.
aepurniet

1

Anda dapat mempertimbangkan untuk mencoba Apache Chainsaw ( http://logging.apache.org/chainsaw/index.html ) jika Anda sudah bekerja dengan log4j. Memungkinkan Anda menentukan warna dan filtern dan bekerja dengan (hampir) konfigurasi nol.


Saya telah mencobanya sejak lama, itu sangat membantu meskipun saya tidak tahu apakah itu dapat membantu saya dalam kasus ini. Saya berharap ini memungkinkan saya lebih banyak perincian tentang bagaimana baris diwarnai, tetapi saya ingin lebih ... Saya akan mencobanya besok.
Newtopian

1

Saya telah menggunakan plugin ini sebelumnya, ini memungkinkan Anda mewarnai baris log berdasarkan regex yang disesuaikan.

Misalnya, ketika saya menggunakannya, setiap baris dengan kata-kata kesalahan akan menjadi merah, peringatan akan menjadi oranye, info akan menjadi biru ... dll.

Karena ini regex, Anda bisa melakukan apa saja. Atur untuk membuat garis menjadi hijau setiap kali dimulai dengan ">>>" dan kemudian tambahkan string pesan Anda dengan ">>>".

http://sourceforge.net/projects/logfiletools


1

Anda dapat menggunakan plugin ANSI Escape in Console untuk Eclipse. Anda akan memerlukan ini agar konsol Eclipse dapat menafsirkan kode Escape ANSI. Instal dan mulai ulang Eclipse . Kemudian Anda dapat menggunakan Kode Warna ANSI untuk menulis dengan warna tertentu. Berikut adalah daftar Kode Warna ANSI dari jawaban stackoverflow lain. Kemudian Anda bisa melakukan ini:

public static final String ANSI_RESET = "\u001B[0m";
public static final String ANSI_RED = "\u001B[31m";

public static void main(String[] args) {
    System.out.println(ANSI_RED + "This text is red!" + ANSI_RESET);
}

Saya menggunakan ini untuk membuat Custom Formatter untuk Console Handler sehingga menampilkan log dari Logger di level berbeda dengan warna berbeda (INFO log in cyan, WARNING log in yellow and SEVERE logs in red). Begini cara saya melakukannya , jika Anda tertarik.


0

Emoji

Anda dapat menggunakan warna untuk teks seperti yang disebutkan orang lain dalam jawaban mereka.

Tapi Anda bisa menggunakan emoji ! misalnya Anda dapat menggunakan Anda dapat menggunakan ⚠️untuk pesan peringatan danπŸ›‘ pesan kesalahan untuk membuatnya menonjol!

Atau gunakan saja buku catatan ini sebagai warna:

πŸ“•: error message
πŸ“™: warning message
πŸ“—: ok status message
πŸ“˜: action message
πŸ““: canceled status message
πŸ“”: Or anything you like and want to recognize immediately by color

Saya pribadi menggunakan emoji yang berarti untuk keluaran yang berbeda.

Authentication Key: πŸ”‘ 
Server Error: πŸ’£
etc.

🎁 Bonus:

Metode ini juga membantu Anda memindai dan menemukan log dengan cepat langsung di kode sumber .

Tetapi font emoji default linux tidak berwarna secara default dan Anda mungkin ingin membuatnya berwarna-warni, pertama.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.