Что такое SwiftyBeaver и зачем он нужен?
SwiftyBeaver — это мощная и гибкая библиотека для логирования в приложениях на Swift (iOS, macOS, tvOS, watchOS). В отличие от стандартного print(), который неструктурирован и неудобен для анализа, SwiftyBeaver предоставляет цветной вывод в консоль, запись в файлы, облачную синхронизацию и интеграцию с популярными сервисами аналитики. Основная цель — сделать отладку и мониторинг приложений максимально прозрачными и эффективными.
Как установить
Установка через Swift Package Manager (SPM) — самый простой способ:
- В Xcode выберите File → Add Packages.
- Введите URL:
https://github.com/SwiftyBeaver/SwiftyBeaver.git. - Выберите версию (рекомендуется последняя стабильная).
- Добавьте пакет в ваш target.
Также доступна установка через CocoaPods или Carthage.
Основные функции
- Цветной консольный вывод — разные уровни логирования (debug, info, warning, error) выделяются цветом для быстрой визуальной фильтрации.
- Запись в файлы — автоматическое сохранение логов на устройстве с ротацией по размеру/дате.
- Облачное логирование — отправка логов на сервер SwiftyBeaver Cloud для удаленного мониторинга.
- Форматирование — настройка даты, времени, имени файла, строки кода.
- Фильтрация — включение/отключение логов по минимальному уровню или по имени модуля.
Пример кода на Swift
import SwiftyBeaver
let log = SwiftyBeaver.self
// Настройка
let console = ConsoleDestination() // вывод в консоль
let file = FileDestination() // запись в файл
// Настройка формата
console.format = "$DHH:mm:ss$d $L: $M"
file.format = "$DHH:mm:ss$d $L: $M"
// Добавляем destinations
log.addDestination(console)
log.addDestination(file)
// Использование
log.debug("Приложение запущено") // отладочное сообщение
log.info("Пользователь авторизован") // информационное
log.warning("Низкий заряд батареи") // предупреждение
log.error("Ошибка сети") // ошибкаКогда использовать
SwiftyBeaver идеален для проектов любого размера — от небольших приложений до enterprise-решений. Особенно полезен при:
- Отладке сложных бизнес-процессов.
- Мониторинге production-версий через облачную платформу.
- Командной разработке, где нужно централизованное хранение логов.
- Создании пользовательских отчетов об ошибках.
Библиотека активно поддерживается, имеет открытый исходный код и большое сообщество. Если вам нужно более 10 000 строк логов в день — рассмотрите платный тариф SwiftyBeaver Cloud.
Также в библиотеке
Кэширование в TypeScript: Redis, Memcached и in-memory решения
Kysely для TypeScript: полное руководство с примерами
Логирование в Rust: обзор лучших библиотек и решений для вашего проекта
Juniper: Создание эффективных GraphQL API на Rust