1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-go-logger_old1

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 3.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 27.11.2024 00:06 64cf46d

Управление журналами консоли

Глобальный журнал: SetConsole(false) — не выводить данные в консоль, значение по умолчанию — true.

Журнал экземпляра: log.SetConsole(false) — не выводить данные в консоль, значение по умолчанию — true.

Пример вывода данных в журнал

//SetRollingFile("", "log.txt", 1000, KB) — настройка информации о файле журнала. //SetRollingFileLoop(, "log.txt", 300, MB, 50) — настройка размера файла журнала (300 МБ), максимальное количество сохраняемых файлов журнала — 50. //SetRollingByTime(, "log.txt", MODE_MONTH) — разделение журнала по месяцам. //SetRollingByTime(, "log.txt", MODE_HOUR) — разделение журнала по часам. //SetRollingByTime(, "log.txt", MODE_DAY) — разделение журнала по дням (аналогично SetRollingDaily("", "log.txt")).

//Вывод в консоль не производится. // SetConsole(false).

Debug("00000000000"). По умолчанию формат: [DEBUG]2023/07/10 18:40:49 logging_test.go:12: 00000000000.

SetFormat(FORMAT_NANO). Debug("111111111111"). Формат без форматирования: 111111111111.

SetFormat(FORMAT_LONGFILENAME). Info("22222222"). Формат с длинным путём к файлу: [INFO]/usr/log/logging/logging_test.go:14: 22222222.

SetFormat(FORMAT_DATE | FORMAT_SHORTFILENAME). Warn("333333333"). Формат (дата + короткий путь к файлу): [WARN]2023/07/10 logging_test.go:16: 333333333.

SetFormat(FORMAT_DATE | FORMAT_TIME). Error("444444444"). Формат: [ERROR]2023/07/10 18:35:19 444444444.

SetFormat(FORMAT_SHORTFILENAME). Fatal("5555555555"). Формат: [FATAL]logging_test.go:21: 5555555555.

SetFormat(FORMAT_TIME). Fatal("66666666666"). Формат: [FATAL]18:35:19 66666666666.

Коррекция времени вывода

Изменение TIME_DEVIATION позволяет скорректировать время вывода журнала, единица измерения — наносекунды.

Тестирование производительности

Тестируемая библиотека журналов Описание
zap Высокопроизводительная библиотека журналов go.uber.org/zap с обычным форматированием вывода
go-logger Библиотека журналов go-logger с обычным форматированием вывода
go-logger NoFORMAT Библиотека журналов go-logger без форматирования вывода
go-logger write Метод записи данных библиотеки журналов go-logger
slog Оригинальная библиотека журналов slog для Go

Данные тестирования 1

Тестовая среда:

Процессор amd64: Intel(R) Core(TM) i5-1035G1 CPU @ 1,00 ГГц.

Результаты тестирования:

Время выполнения: — go-logger — около 4500 нс; — slog и zap — около 5600 нс.

Использование памяти: — go-logger — 64; — slog и zap — примерно 330.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-go-logger_old1.git
git@api.gitlife.ru:oschina-mirror/mirrors-go-logger_old1.git
oschina-mirror
mirrors-go-logger_old1
mirrors-go-logger_old1
master