Yalnızca günlük dosyalarını değil, her türlü metni renklendirmeye yarayan çözümlerden biri de bir Python aracı olan ' colout '.
pip install colout
myprocess | colout REGEX_WITH_GROUPS color1,color2... [attr1,attr2...]
Regex'in 1. grubuna uyan 'myprocess' çıktısındaki herhangi bir metnin 1. renkli, 1. renkli 2., vb.
Örneğin:
tail -f /var/log/mylogfile | colout '^(\w+ \d+ [\d:]+)|(\w+\.py:\d+ .+\(\)): (.+)$' white,black,cyan bold,bold,normal
yani ilk regex grubu (parens) logfile'deki ilk tarihle eşleşir, ikinci grup bir python dosya adı, satır numarası ve işlev adıyla eşleşir ve üçüncü grup bundan sonra gelen log mesajıyla eşleşir. Bu gibi görünüyor:
Regex'imin hiçbiriyle eşleşmeyen satırların veya satır bölümlerinin hala yankılandığını unutmayın, bu nedenle bu 'grep --color' gibi değil - çıktıdan hiçbir şey süzülmez.
Açıkçası bu, sadece günlük dosyalarına bakmak yerine, herhangi bir işlemle kullanabileceğiniz kadar esnektir. Genellikle bir şeyi renklendirmek istediğimde anında yeni bir regex kırbaçlarım. Bu nedenle, herhangi bir özel logfile-boyama aracına renk vermeyi tercih ediyorum, çünkü ne renklendirdiğime bakılmaksızın yalnızca bir araç öğrenmem gerekiyor: günlüğe kaydetme, test çıktısı, terminaldeki kod parçacıklarının vurgulanması vb.
sed
: stackoverflow.com/a/14691971/52074