👁 В продакшн-средах часто требуется анализировать и обрабатывать большие объемы логов. Разделение логов на более мелкие части по временным меткам или уровням ошибок может помочь значительно улучшить процессы мониторинга и диагностики.
📝 Пример скрипта для автоматического разделения логов по уровням важности:
import re
def split_logs_by_level(log_file):
error_logs = []
warning_logs = []
info_logs = []
with open(log_file, 'r') as file:
for line in file:
if re.search(r'\bERROR\b', line):
error_logs.append(line)
elif re.search(r'\bWARNING\b', line):
warning_logs.append(line)
elif re.search(r'\bINFO\b', line):
info_logs.append(line)
with open('error_logs.txt', 'w') as file:
file.writelines(error_logs)
with open('warning_logs.txt', 'w') as file:
file.writelines(warning_logs)
with open('info_logs.txt', 'w') as file:
file.writelines(info_logs)
def main():
log_file = 'system.log'
split_logs_by_level(log_file)
if __name__ == '__main__':
main()📌 Как это работает:
- Скрипт читает логи из файла, используя стандартные функции Python для работы с файлами.
- С помощью регулярных выражений (
re.search()) он проверяет уровень логов (ERROR, WARNING, INFO) и разделяет их на отдельные списки. - Разделенные логи сохраняются в различные файлы для более удобного анализа.
❗️ Этот подход применяется, например, для построения мониторинга и анализа ошибок в реальном времени или для автоматизированной диагностики с использованием внешних инструментов.
tags: #python #разработка #автоматизация



