Junior
100
questionbank
Как посмотреть саму ошибку и её контекст, включая 10 строк до и после ошибки?
Answer from AI
sobes.tech AI
# Пример использования grep с контекстом (-C)
# Ищет "error" в файле my_log.log и показывает 10 строк до (-B) и 10 строк после (-A)
grep -C 10 'error' my_log.log
или
# Пример использования sed для вывода определенных строк и их окрестностей
# Выводит строки вокруг строки с ошибкой, например, если ошибка на строке 100
# Здесь выводим строки с 90 по 110
sed -n '90,110p' my_log.log
или
# Пример использования Python для поиска ошибки и вывода контекста
def find_error_with_context(log_file, error_string, context_lines=10):
with open(log_file, 'r') as f:
lines = f.readlines()
for i, line in enumerate(lines):
if error_string in line:
start_index = max(0, i - context_lines)
end_index = min(len(lines) - 1, i + context_lines)
for j in range(start_index, end_index + 1):
print(f"{j+1}: {lines[j].strip()}")
break # Можно убрать break, если нужно найти все вхождения
# Пример использования
find_error_with_context('my_log.log', 'ERROR')
Также можно использовать инструменты для централизованного логирования (ELK Stack, Splunk, Grafana Loki), которые предоставляют интерфейс для поиска и просмотра логов с контекстом. В них часто есть встроенные функции для отображения строк вокруг найденного события.