การตรวจสอบบันทึกของ Apache ด้วยtail –f
แนวโน้มที่จะสร้างความรำคาญให้กับดวงตาเป็นระยะเวลานาน มีเครื่องมือ / ตัวเลือกใด ๆ ในการกำหนดสีของบันทึกผลลัพธ์หรือไม่? อาจส่งสัญญาณ FATAL ด้วยสีแดง ฯลฯ ...
การตรวจสอบบันทึกของ Apache ด้วยtail –f
แนวโน้มที่จะสร้างความรำคาญให้กับดวงตาเป็นระยะเวลานาน มีเครื่องมือ / ตัวเลือกใด ๆ ในการกำหนดสีของบันทึกผลลัพธ์หรือไม่? อาจส่งสัญญาณ FATAL ด้วยสีแดง ฯลฯ ...
คำตอบ:
ฉันใช้multitailในการตรวจสอบล็อกมันมีการระบายสีรวมถึงการตรวจสอบ logfile หลายรายการไม่ว่าจะผสานหรือใน windows ให้มันลอง.
ด้วยเหตุผลใดก็ตามที่คุณไม่สามารถใช้สิ่งนี้:
tail -f FILE | grep --color=always KEYWORD
แหล่งที่มา: commandlinefu.com
KEYWORD
จะถูกละเว้น
พบสิ่งนี้: 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
ฉันใช้สคริปต์ขนาดเล็กที่มีการรวม 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 ที่ถูกล่ามโซ่เพิ่มสีที่แตกต่างกัน ดังนั้นผลลัพธ์คือ:
ปลั๊กไร้ยางอาย: ฉันเขียนเครื่องมือที่เรียกว่าTxtStyleซึ่งทำสิ่งที่คล้ายกับตัวเลือกที่กล่าวถึงก่อนหน้านี้ คุณสามารถเรียกใช้ดังนี้
tail -f /var/log/syslog | txts --regex '\d+'
นอกจากนี้คุณยังสามารถกำหนดสไตล์ที่มีชื่อในไฟล์กำหนดค่า ( ~/.txts.conf
) และใช้มันตามต้องการ:
ifconfig | txts --name ifconfig
( ifconfig
สไตล์ถูกกำหนดนอกกรอบ)
มีคุณลักษณะหนึ่งที่ฉันไม่เห็นใน colorizers เหล่านั้น - เน้นเวลาตอบสนอง (เวลาที่สูงขึ้น -> สีที่น่าตกใจมากขึ้น) การสนับสนุน 256 สีในเทอร์มินัลอีมูเลเตอร์สมัยใหม่อาจเป็นประโยชน์สำหรับที่นี่
เคล็ดลับ grep ที่มีประโยชน์อื่นเพื่อแสดงผลลัพธ์ทั้งหมด แต่สี KEYWORD ที่เลือกคือ:
tail -f FILE | grep --color=always -E "$|REGEXP"