Salah satu solusi yang berfungsi untuk mewarnai semua jenis teks, bukan hanya file log, adalah alat Python, ' colout '.
pip install colout
myprocess | colout REGEX_WITH_GROUPS color1,color2... [attr1,attr2...]
Dimana teks dalam output 'myprocess' yang cocok dengan grup 1 regex akan diwarnai dengan color1, group 2 dengan color2, dll.
Sebagai contoh:
tail -f /var/log/mylogfile | colout '^(\w+ \d+ [\d:]+)|(\w+\.py:\d+ .+\(\)): (.+)$' white,black,cyan bold,bold,normal
yaitu grup regex pertama (parens) cocok dengan tanggal awal dalam logfile, grup kedua cocok dengan nama file python, nomor baris dan nama fungsi, dan grup ketiga cocok dengan pesan log yang datang setelah itu. Ini terlihat seperti:
Perhatikan bahwa garis atau bagian dari garis yang tidak cocok dengan regex saya masih bergema, jadi ini bukan seperti 'grep --color' - tidak ada yang disaring dari output.
Jelas ini cukup fleksibel sehingga Anda dapat menggunakannya dengan proses apa pun, tidak hanya mengekor file log. Saya biasanya hanya menyiapkan regex baru dengan cepat setiap kali saya ingin mewarnai sesuatu. Untuk alasan ini, saya lebih suka colout ke alat pewarnaan logfile khusus, karena saya hanya perlu mempelajari satu alat, terlepas dari apa yang saya warnai: logging, output tes, sintaks menyoroti potongan kode di terminal, dll.
sed
: stackoverflow.com/a/14691971/52074