Bash:
Журналирование
Как:
В Bash логирование может быть таким же простым, как перенаправление или добавление вывода в файл. Вот простой пример:
echo "Начало выполнения скрипта..." >> script.log
# Команды вашего скрипта здесь
echo "Скрипт завершён $(date)" >> script.logДля более продвинутого использования вы можете включить syslog для системного логирования:
logger "Пользовательское сообщение из моего скрипта"logger отправляет сообщение журнала в службу syslog, которая затем обрабатывает его в соответствии с конфигурацией syslog системы.
Пример вывода, зафиксированного в script.log:
Начало выполнения скрипта...
Скрипт завершён во вт мар 23 09:26:35 PDT 2021Погружение
Исторически в системах, подобных Unix, логирование облегчалось службой syslog, позволяя различным приложениям и частям системы централизованно регистрировать сообщения. Это позволяет реализовать стандартизированный механизм логирования по всей системе.
Когда речь заходит о альтернативах, некоторые могут рассмотреть использование syslog-ng или rsyslog для более продвинутых функций логирования, или запись логов в временную серию баз данных для аналитических целей. Для приложений с более высоким уровнем сложности использование специализированной библиотеки или приложения для логирования, такого как Log4j (в экосистеме Java) или Monolog (в PHP), которые могут предоставить структурированные и настраиваемые варианты логирования, может оказаться разумным даже для языка сценариев, такого как Bash.
Способ, которым вы реализуете логирование, в значительной степени зависит от требований вашего приложения. Если вам просто нужен простой вывод для отслеживания прогресса скрипта, добавление сообщений в файл является простым и удобным. Однако для более масштабируемого и надёжного логирования вы захотите интегрироваться с системой логирования, поддерживающей функции вроде ротации логов, уровней логирования и удалённого логирования.
См. также
- Страницы
manдля функцийloggerиsyslogвсегда помогут, попробуйтеman loggerилиman syslog. - Для более глубокого изучения системного логирования стоит обратить внимание на документацию
rsyslogиsyslog-ng. - Чтобы узнать больше о историческом контексте и принципах логирования в системах, подобных Unix, протокол
Syslog, документированный в RFC 5424, предоставляет исчерпывающую информацию.