Ответ
Для поиска исключений и ошибок в логах из командной строки чаще всего используется утилита grep.
Основные команды:
-
Поиск по нескольким ключевым словам Используйте флаг
-iдля поиска без учета регистра и|в качестве оператора "ИЛИ".# Искать строки, содержащие 'exception', 'error' или 'traceback' grep -i "exception|error|traceback" /path/to/your/logfile.log -
Поиск с отображением контекста Флаги
-A(after),-B(before) и-C(context) показывают строки вокруг найденного совпадения, что помогает понять причину ошибки.# Показать 5 строк до и 5 строк после слова 'Exception' grep -B 5 -A 5 "Exception" /path/to/your/logfile.log -
Рекурсивный поиск по директории Флаг
-r(recursive) позволяет искать во всех файлах внутри указанной директории.# Найти 'Traceback' во всех файлах в /var/log/ grep -r "Traceback" /var/log/ -
Вывод с подсветкой и номерами строк Для удобства анализа полезно подсвечивать найденные совпадения и видеть номера строк.
# Искать 'error' с подсветкой (`--color=auto`) и номерами строк (`-n`) grep --color=auto -n -i "error" /path/to/your/logfile.log
Для более сложного анализа, например, для извлечения полных стектрейсов, grep можно комбинировать с awk, sed или perl.