Junior
Ako extrahovať iba chyby zo súboru s logmi vo VoIP?
sobes.tech AI
Odpoveď od AI
Na filtrovanie obsahu súboru denníka môžete použiť nástroje príkazového riadku.
Napríklad s grep:
# Filtrujte riadky obsahujúce slovo "error" (bez rozlišovania veľkých/malých písmen)
grep -i "error" /cesta/k/súboru/log/voip.log
# Filtrujte riadky obsahujúce vzory chýb
grep -E "ERROR|CRITICAL|FATAL" /cesta/k/súboru/log/voip.log
S awk:
# Filtrujte riadky, kde je druhé pole (napríklad úroveň denníka) rovné "ERROR"
awk '{ if ($2 == "ERROR") print }' /cesta/k/súboru/log/voip.log
S sed:
# Odstráňte riadky, ktoré NEMajú slovo "error"
sed -n '/error/Ip' /cesta/k/súboru/log/voip.log
Výber nástroja závisí od formátu denníkov VoIP a od požadovanej presnosti filtra. Často je užitočné kombinovať nástroje, napríklad použiť grep na počiatočné filtrovanie a awk na ďalšie spracovanie alebo extrakciu konkrétnych polí.
Napríklad, ak sú úrovne denníka na začiatku každej riadky:
# Filtrujte riadky začínajúce na ERROR:
grep "^ERROR:" /cesta/k/súboru/log/voip.log
# Filtrujte riadky začínajúce na ERROR:, CRITICAL: alebo FATAL:
grep -E "^(ERROR|CRITICAL|FATAL):" /cesta/k/súboru/log/voip.log
Ak je súbor denníka veľmi veľký, môžete použiť zgrep pre komprimované súbory (.gz).
zgrep -i "error" /cesta/k/súboru/log/voip.log.gz
Na sledovanie chýb v reálnom čase môžete použiť tail v kombinácii s grep:
# Sledovať nové riadky v logu a zobraziť iba tie, ktoré obsahujú "error"
tail -f /cesta/k/súboru/log/voip.log | grep -i "error"