Управление журналами консоли
Глобальный журнал: 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 )