Продвинутое логирование ошибок в Bash

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

bashлогированиеuuidgen

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

📝 Пример Bash-скрипта:

#!/bin/bash

# Функция генерации уникального идентификатора
generate_id() {
  echo "$(date +%Y%m%d%H%M%S)-$(uuidgen)"
}

# Функция логирования ошибок
log_error() {
  local error_message=$1
  local log_file="error_log.txt"
  local unique_id=$(generate_id)

  # Запись ошибки с уникальным идентификатором
  echo "$unique_id - ERROR: $error_message" >> $log_file
}

# Пример использования
log_error "Something went wrong during the process"
log_error "Unable to connect to the database"

📌 Как это работает:

  • Скрипт использует команду uuidgen для генерации уникальных идентификаторов, которые привязываются к каждой ошибке.
  • Ошибки с уникальными идентификаторами записываются в лог-файл с временной меткой, что помогает легко отслеживать их по времени и искать взаимосвязи.
  • Логи можно быстро обработать и проанализировать, благодаря добавлению ID и времени.

❗️ Этот подход полезен для приложений, работающих в распределенных системах или многозадачных средах, где важно отслеживать каждую ошибку в контексте других событий.

tags: #bash #логирование #полезно

🧭 @recura_tech 🌐 VK 🌐 MAX

Скриншот тёмного терминала с примером Bash-скрипта: функции generate_id и log_error, подсветка синтаксиса и пример записи в error_log.txt.
Пример кода: функция generate_id и log_error с записью в error_log.txt.

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