Этот репозиторий посвящен программе логгера, реализованной на языке программирования Golang.
Уровни логирования реализованы в виде структуры, аналогичной enum
, и называются LogLevel
:
Уровень | Представление |
---|---|
DEBUG | gogger.DEBUG |
INFO | gogger.INFO |
WARNING | gogger.WARNING |
ERROR | gogger.ERROR |
Доступны следующие функции установки:
Функция | Аргументы | Поля в struct Gogger | Описание |
---|---|---|---|
SetLogLevel | level LogLevel |
- | Устанавливает уровень логирования для консоли и файла |
SetLogLevelConsole | level LogLevel |
INFO | Устанавливает уровень логирования для консоли |
SetLogLevelFile | level LogLevel |
WARNING | Устанавливает уровень логирования для файла |
SetLogFormat | format string |
"[%timestamp%] [%level%] %message%" | Устанавливает формат вывода логов |
SetUseConsoleLog | console bool |
true | Устанавливает флаг использования вывода в консоль (true - включить) |
SetUseFileLog | file bool |
true | Устанавливает флаг использования вывода в файлы (true - включить) |
SetClearAll | clearAll bool |
false | При true удаляет все файлы логов в директории с таким же наименованием при создании объекта класса Gogger или при вызове SetFilename |
SetFilename | filename string , pathFolder string = "logs", maxEntries int = 1000000 |
pathFolder string = "logs", maxEntries int = 1000000 |
Устанавливает новое название файлов |
SetMaxEntries | maxEntries int |
maxEntries int = 1000000 |
Устанавливает количество записей в одном файле |
SetMaxFiles | maxFiles int |
maxFiles int = 5 |
Устанавливает максимальное количество файлов |
Gogger использует следующие технологии:
- Go - Язык программирования
- Установите Go, следуя инструкциям на официальном сайте Go.
- Склонируйте этот репозиторий.
- Перейдите в папку репозитория и постройте программу, используя команду
go build
.
Функция | Аргументы | Описание |
---|---|---|
NewGogger | filename string , pathFolder string = "logs", maxEntries int = 1000000, maxFiles int = 5 |
Создает новый экземпляр класса Gogger |
Log | level LogLevel , message string |
Записывает лог с указанным уровнем логирования |
Debug | debugMessage string |
Записывает лог с уровнем логирования DEBUG |
Info | infoMessage string |
Записывает информационный лог |
Warning | warningMessage string |
Записывает предупреждение |
Error | errorMessage string |
Записывает лог об ошибке |
Пример использования в программе на Go:
package main
import (
"gogger/gogger"
)
func main() {
logger, err := gogger.NewGogger("logfile.txt", "logs", 8, 5)
if err != nil {
// Обработка ошибки
return
}
defer logger.Close()
logger.Log(gogger.WARNING, "console Warning message")
logger.Debug("console Debug message")
logger.Info("console Info message")
logger.Warning("console Warning message")
logger.Error("console Error message")
}
Вывод в консоли:
[30-09-2020 21:59:05] [WARNING] console Warning message
[30-09-2020 21:59:05] [INFO] console Info message
[30-09-2020 21:59:05] [WARNING] console Warning message
[30-09-2020 21:59:05] [ERROR] console Error message
Как видно из примера, лог с уровнем DEBUG не отобразился в консоли.
gogger.go
- Реализация логгераmain.go
- Основная программа с нативными тестами
MIT
Free Software, Hell Yeah!