Skip to content

DD

DD (Data-Driven Debugger) — высокопроизводительная библиотека структурированного логирования от организации CyberGo, обеспечивающая потокобезопасную запись логов, гибкую настройку целей вывода и комплексную защиту безопасности.

Возможности

  • Структурированное логирование -- типобезопасная запись полей, автоматическая JSON-сериализация
  • Множественные цели вывода -- одновременный вывод в консоль, файл, пользовательский io.Writer
  • Ротация файлов -- автоматическая ротация по размеру с ограничением количества резервных копий и политикой хранения по времени
  • Фильтрация конфиденциальных данных -- встроенные regex-шаблоны, автоматическое маскирование паролей, ключей, токенов и другой чувствительной информации
  • Аудитные логи -- асинхронная запись аудитных событий с поддержкой подписей целостности и цепочной проверкой
  • Система хуков -- хуки жизненного цикла BeforeLog, AfterLog, OnRotate и другие
  • Интеграция с контекстом -- поддержка автоматического распространения TraceID, SpanID, RequestID
  • Сэмплирование логов -- опциональная стратегия сэмплирования для сценариев с высокой пропускной способностью
  • Оптимизация с нулевым выделением -- минимальное выделение памяти на горячих путях, превосходная производительность

Установка

bash
go get github.com/cybergodev/dd

Быстрый старт

go
package main

import (
    "time"

    "github.com/cybergodev/dd"
)

func main() {
    // Использование логгера по умолчанию
    dd.Info("Сервис запущен")

    // Структурированный лог
    dd.InfoWith("Запрос обработан",
        dd.String("method", "GET"),
        dd.Int("status", 200),
        dd.Duration("elapsed", 150*time.Millisecond),
    )

    // Создание пользовательского логгера
    logger, _ := dd.New(dd.DefaultConfig())
    defer logger.Close()

    logger.Info("Пользовательский логгер создан")
}

Навигация по модулям

МодульОписание
Основные концепцииАрхитектура Logger, конвейер обработки, иерархия интерфейсов
Структурированное логированиеКонструкторы полей, цепочные вызовы
Вывод в файл и ротацияFileWriter, BufferedWriter
Фильтрация конфиденциальных данныхАвтоматическое маскирование, уровни безопасности
Аудитные логиАсинхронные аудитные события, подписи целостности
Система хуковРасширение через хуки жизненного цикла

Следующие шаги