สีหางของบันทึก Apache


9

การตรวจสอบบันทึกของ Apache ด้วยtail –fแนวโน้มที่จะสร้างความรำคาญให้กับดวงตาเป็นระยะเวลานาน มีเครื่องมือ / ตัวเลือกใด ๆ ในการกำหนดสีของบันทึกผลลัพธ์หรือไม่? อาจส่งสัญญาณ FATAL ด้วยสีแดง ฯลฯ ...


1
ที่เกี่ยวข้อง: serverfault.com/questions/53894/colorize-monitoring-of-logs
Cherian

คำตอบ:


10

ฉันใช้multitailในการตรวจสอบล็อกมันมีการระบายสีรวมถึงการตรวจสอบ logfile หลายรายการไม่ว่าจะผสานหรือใน windows ให้มันลอง.


9

ด้วยเหตุผลใดก็ตามที่คุณไม่สามารถใช้สิ่งนี้:

tail -f FILE | grep --color=always KEYWORD

แหล่งที่มา: commandlinefu.com


คุณทดสอบหรือไม่ มันไม่ได้ส่งผลอะไรสำหรับฉัน
SabreWolfy

ซึ่งจะกรองเอาต์พุตเช่นกันดังนั้นบรรทัดใด ๆ ที่ไม่มีKEYWORDจะถูกละเว้น
Michal Mau

OP ดูเหมือนจะหมายความว่าเขากำลังมองหาคำหลักหรือคำ ยกเว้นว่าไฟล์นั้นเป็นแบบหลายบรรทัด (โดยทั่วไปแล้วไฟล์บันทึกของ apache นั้นไม่ใช่) คำตอบนี้ก็เพียงพอแล้ว
Garrett

4

พบสิ่งนี้: http://fixunix.com/unix/83044-tail-color.html

tail -f file | perl -pe 's/keyword/\e[1;31;43m$&\e[0m/g'

สิ่งนี้ใช้ได้กับเทอร์มินัล ANSI เท่านั้น แต่สิ่งอื่น ๆ ทั้งหมดนั้นสูญพันธุ์ไปแล้ว \ e [... m คือลำดับการหลบหนีของ ANSI SGR "การเรนเดอร์กราฟิกที่เลือก" "... " สามารถถูกแทนที่ด้วยจำนวนเต็มบางส่วนที่คั่นด้วยเครื่องหมายอัฒภาคด้วยความหมาย:

0: ปิดคุณลักษณะทั้งหมด 1: ตัวหนา 31: พื้นหน้าแดง 43: พื้นหลังสีเหลือง

แน่นอนว่า "คำหลัก" สามารถเป็นนิพจน์ทั่วไปของ Perl ได้:

(foo | bar) เน้นสตริง foo และ bar \ b ((foo | bar) \ b เน้นคำว่า foo และ bar \ b ((foo | bar) \ bเน้นทั้งบรรทัดที่มีคำ foo หรือ bar

หรือวิธีง่ายๆเพียงติดตั้งcolortailมันอาจจะอยู่ใน repo ที่คุณชื่นชอบ (dag สำหรับ CentOS)

http://developwithstyle.com/articles/2010/04/20/tail-your-logs-with-a-touch-of-color.html

http://joakimandersson.se/projects/colortail/



ใช่ multitail ดีที่สุด
Grizly

3

ฉันใช้สคริปต์ขนาดเล็กที่มีการรวม grep เพื่อให้ได้สี:

#!/bin/bash
shopt -s expand_aliases

alias grey-grep="GREP_COLOR='1;30' grep -E --color=always --line-buffered"
alias red-grep="GREP_COLOR='1;31' grep -E --color=always --line-buffered"
alias green-grep="GREP_COLOR='1;32' grep -E --color=always --line-buffered"
alias yellow-grep="GREP_COLOR='1;33' grep -E --color=always --line-buffered"
alias cyan-grep="GREP_COLOR='1;36' grep -E --color=always --line-buffered"

tail -1000f /var/log/apache2/error.log | grey-grep ".*PerformanceLogger.*|$" | cyan-grep "INFO|$" | yellow-grep "WARN|$" | red-grep "[ERROR].*|[FATAL].*|$" | green-grep "***|$"

ประเด็นก็คือทุก grep ที่ถูกล่ามโซ่เพิ่มสีที่แตกต่างกัน ดังนั้นผลลัพธ์คือ: Apache บันทึกด้วยสี


0

ปลั๊กไร้ยางอาย: ฉันเขียนเครื่องมือที่เรียกว่าTxtStyleซึ่งทำสิ่งที่คล้ายกับตัวเลือกที่กล่าวถึงก่อนหน้านี้ คุณสามารถเรียกใช้ดังนี้

tail -f /var/log/syslog | txts --regex '\d+'

นอกจากนี้คุณยังสามารถกำหนดสไตล์ที่มีชื่อในไฟล์กำหนดค่า ( ~/.txts.conf) และใช้มันตามต้องการ:

ifconfig | txts --name ifconfig

( ifconfigสไตล์ถูกกำหนดนอกกรอบ)


0

มีคุณลักษณะหนึ่งที่ฉันไม่เห็นใน colorizers เหล่านั้น - เน้นเวลาตอบสนอง (เวลาที่สูงขึ้น -> สีที่น่าตกใจมากขึ้น) การสนับสนุน 256 สีในเทอร์มินัลอีมูเลเตอร์สมัยใหม่อาจเป็นประโยชน์สำหรับที่นี่


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.