Логирование — важная часть процессов разработки. Запись логов помогает обезопасить разработчиков и пользователей от возникновения масштабных сбоев и проблем в приложениях и системах.
Разберемся, что представляют собой лог-файлы и как сделать запись значения лога в AppMaster.
Что такое логи?
Лог — это текстовый файл, который содержит системную информацию о работе ПО или сервера. В лог вносятся данные о действиях, выполненных программой или пользователем.
Зачем нужны логи?
При возникновении ошибок в работе сервера, программы или компьютера, логи — это то, к чему обращаются, чтобы определить причину и источник этой ошибки.
Логи представляют собой список событий в хронологическом порядке, их источников, а также ошибок и причин, по которым они возникли. Логами могут воспользоваться разные специалисты. Для администраторов в лог-файлах содержится информация о причинах сбоя устройств и систем. Разработчикам логи нужны для дебага — поиска и устранения ошибки на сайте или в приложении. Логи также полезны и SEO-специалистам, которые по ним отслеживают статистику посещаемости.
Логирование и анализ логов — важнейший инструмент в работе IT-специалистов. Он позволяет быстро определять причины и источники проблем и сбоев и исправлять их. В приложениях логи помогают мониторить их работу, вовремя находить баги.
Уровни и типы логов
Логирование необходимо на всех этапах разработки, а также во время дальнейшей эксплуатации ПО. Так может накопиться большое количество лог-файлов, в которых будет очень сложно разобраться. Поэтому для удобства и упрощения поиска и чтения логов, их делят на уровни и типы.
Выделяют четыре основных уровня логов:
- Debug — запись масштабных переходов состояний: обращения к базам данных, запуск и остановка сервиса;
- Warning — внештатные ситуации, например, неправильный формат запроса;
- Error — запись типичных ошибок;
- Fatal — фатальные сбои в работе: отказ доступа к базе данных, нехватка места на диске.
Есть еще два дополнительных уровня логирования:
- Trace — запись процесса по шагам; нужен, когда трудно локализовать проблему;
- Info — общая информация о работе сервиса, службы.
Типы логов:
- Серверные — обращения к серверу и ошибки, которые возникают во время обращений;
- Системные — все системные события;
- Логи авторизации и аутентификации — процессы входа в систему и выхода из нее, проблемы с доступом и другие;
- Логи приложений, которые находятся в этой системе;
- Логи баз данных — обращения к БД.
Как правильно записывать логи?
Чтобы вести логирование, которое удобно использовать, нужно грамотно записывать логи:
- логировать важные события, например, остановка транзакций, запуск приложения;
- добавить теги, чтобы использовать их для быстрого перехода к нужным записям;
- убрать повторяющиеся слова;
- установить формат для создания лог-файлов в компании, чтобы стандартизировать процесс;
- вводить только необходимую информацию.
Логирование в AppMaster
Каждый проект AppMaster поддерживает стандартное логирование. Для работы с логами перейдите во вкладку Project / Deploy Stats. Здесь во вкладке Application Logs вы найдете все логи вашего приложения.
Как записать значение лога в файл приложения?
Система автоматически записывает определенные события в файл, но вы можете записывать необходимые данные дополнительно. Для этого в редакторе бизнес-процессов есть специальный блок Write to log.
У блока два входных поля:
- Label – заголовок, который записывается в лог в формате string;
- Input – любое значение, которое нужно сохранить в логе.
Создание логера
В AppMaster также можно создать логер. Это очень удобно, чтобы записывать только то, что необходимо вам.
Для создания логера создадим модель данных – Log и добавим в нее поля:
- Label – для названия записи;
- Text – для тела записи.
Чтобы сохранять нужные значения в лог, понадобится бизнес-процесс. Создайте новый БП и для задайте поля для блока Start:
- Label – в формате string;
- Text – в формате string.
Дальше добавьте блок Make и создайте запись, передав в нее поля из блока Start.
Запись в БД нужно сохранить, использовав блок Create.
Необходимо создать endpoint для нового БП, чтобы к нему можно было обращаться с фронтенда. Перейдите во вкладку Endpoints и создайте новый эндпоинт. Установите параметры:
- Выберите метод POST;
- Задайте URL;
- Выберите группу;
- Установите созданный БП.
Созданный бизнес-процесс можно использовать там, где необходимо записать значение лога в приложении.
Подводим итог: что такое логи и зачем они нужны
Лог-файлы — это записи событий, происходящих в приложении. Их можно использовать для устранения неполадок, отслеживания работы и мониторинга безопасности.
Без лог-журналов может быть трудно определить, что вызвало проблему или где она возникла. Логирование поможет определить ошибки, чтобы вы могли решить их до того, как они вызовут серьезные неполадки.
При написании журналов важно быть как можно более конкретным. Добавляйте дату и время события, тип события, уровень лога, все необходимые данные.
Обеспечьте безопасность ваших логов. Если регистрируются конфиденциальные данные, обязательно зашифруйте их. И не храните файлы в общедоступном месте. Доступ к ним должен иметь только уполномоченный персонал.