Автоматическое разделение логов

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

pythonлогилогирование

👁 В продакшн-средах часто требуется анализировать и обрабатывать большие объемы логов. Разделение логов на более мелкие части по временным меткам или уровням ошибок может помочь значительно улучшить процессы мониторинга и диагностики.

📝 Пример скрипта для автоматического разделения логов по уровням важности:

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 #разработка #автоматизация

🧭 @recura_tech 🌐 VK 🌐 MAX

Изображение: тёмная карточка с кодом Python для автоматического разделения логов по уровням (ERROR, WARNING, INFO), RECURA.
Пример Python-скрипта для разделения логов по уровням ERROR/WARNING/INFO.

Читайте так же