Skip to content

Avdushin/gogger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Dec 21, 2023
8c7814d · Dec 21, 2023

History

15 Commits
Dec 21, 2023
Dec 21, 2023
Dec 20, 2023
Dec 21, 2023
Dec 21, 2023
Dec 20, 2023
Dec 21, 2023
Dec 20, 2023
Dec 21, 2023
Dec 20, 2023
Dec 20, 2023
Dec 20, 2023

Repository files navigation

Gogger logo

GOGGER - simple logger for GO projects

Installation

go get -u github.com/Avdushin/gogger/logger
go get -u github.com/Avdushin/gogger/lib

Documentation

go install golang.org/x/tools/cmd/godoc@latest
godoc -http :8080

Examples

Init logger

package main

import "github.com/Avdushin/gogger/logger"

func main() {
	// Инициализация логгера
	log := logger.InitLogger()
	// log.CreateDailyLogFile()

	l := "lol"
	// Пример использования логгера
	log.Info("Пример лога уровня INFO")
	log.Debug("Пример лога уровня DEBUG")
	log.Warning("Пример лога уровня WARNING")
	log.Error("Пример лога уровня ERROR")
	log.Print("Just print the message")
	log.Printf("Just print the message %s", l)
}

Write all logs to file

package main

import "github.com/Avdushin/gogger/logger"

func main() {
	// Запись в файл logs/logs.log
	log := logger.InitLogger("logs/logs.log")

	// Пример использования логгера
	log.Info("Пример лога уровня INFO")
	log.Debug("Пример лога уровня DEBUG")
	log.Warning("Пример лога уровня WARNING")
	log.Error("Пример лога уровня ERROR")
	log.Print("Just Print INFO message")
}

Writing logs to files by day

package main

import (
	"github.com/Avdushin/gogger/logger"
)

func main() {
	// Создаем новый логгер
	log := logger.InitLogger()
	// Лог файлы будут создаваться автоматически в директории "./logs/сегодняя-дата/сегодняя-дата-время/"
	log.CreateDailyLogFile()

	// Пример использования логгера
	log.Info("Пример лога уровня INFO")
	log.Debug("Пример лога уровня DEBUG")
	log.Warning("Пример лога уровня WARNING")
	log.Error("Пример лога уровня ERROR")

	log.Print("Пример лога с уровнем INFO по умолчанию")
	log.Printf("Форматированный лог с уровнем INFO по умолчанию: %s", "some value")
}

Output

.
├── dayly_logs.go
└── logs
    └── 2023-12-21
        └── 2023-12-21-002356.log

Custom log formats

package main

import (
	"github.com/Avdushin/gogger/logger"
)

func main() {
	// Создаем новый логгер с уровнем WARNING и записью в файл "custom.log"
	log := logger.InitLogger()

	// Пример использования логгера с пользовательским форматом
	log.SetLogFormat("Custom Format: %s")
	log.Warning("Пример лога с пользовательским форматом")
}

Use Case Examples

Example code repo
App Example watch example watch code
Simple App Example watch example watch code

App Example

App Tree

App_example
├── main.go
└── utils
    ├── helper.go
    └── logger.go

main.go

package main

import (
	"github.com/Avdushin/gogger/Examples/App_example/utils"
)

func main() {
	log := utils.Logger()
	log.Debug("Test message")
	utils.Helper("Emenem")
}

utils/logger.go

package utils

import (
	"github.com/Avdushin/gogger/lib"
	"github.com/Avdushin/gogger/logger"
)

func Logger() *lib.Logger {
	// Запись в файл logs/logs.log
	log := logger.InitLogger("logs/logs.log")

	// Пример использования логгера
	log.Info("Пример лога уровня INFO")
	log.Debug("Пример лога уровня DEBUG")
	log.Warning("Пример лога уровня WARNING")
	log.Error("Пример лога уровня ERROR")
	log.Print("Just Print INFO message")

	return log
}

utils/helper.go

package utils

import "github.com/Avdushin/gogger/logger"

func Helper(name string) {
	logger.Warning(name)
}

Output

$ go run main.go 
2023/12/21 00:18:08 [INFO] Пример лога уровня INFO
2023/12/21 00:18:08 [DEBUG] Пример лога уровня DEBUG    
2023/12/21 00:18:08 [WARNING] Пример лога уровня WARNING
2023/12/21 00:18:08 [ERROR] Пример лога уровня ERROR    
2023/12/21 00:18:08 [INFO] Just Print INFO message      
2023/12/21 00:18:08 [DEBUG] Test message
2023/12/21 00:18:08 [WARNING] Emenem

App Output Tree

App_example
├── logs
│   └── logs.log
├── main.go
└── utils
    ├── helper.go
    └── logger.go

Simple App Example

App Tree

SimpleApp
├── main.go
└── utils
    └── helper.go
package main

import "github.com/Avdushin/gogger/logger"

var (
	libName = "gogger"
)

func main() {
	// Запись в файл logs/logs.log
	log := logger.InitLogger("logs/logs.log")

	// Пример использования логгера
	log.Info("Пример лога уровня INFO")
	log.Debug("Пример лога уровня DEBUG")
	log.Warning("Пример лога уровня WARNING")
	log.Error("Пример лога уровня ERROR")
	log.Print("Just Print INFO message")

	log.Debug("You using %s logger for logging messages in this project!", libName)
}

utils/helper.go

package utils

import "github.com/Avdushin/gogger/logger"

func Helper(name string) {
	logger.Debug(name)
}

Output

$ go run main.go
2023/12/20 23:55:30 [INFO] Пример лога уровня INFO
2023/12/20 23:55:30 [DEBUG] Пример лога уровня DEBUG
2023/12/20 23:55:30 [WARNING] Пример лога уровня WARNING
2023/12/20 23:55:30 [ERROR] Пример лога уровня ERROR
2023/12/20 23:55:30 [INFO] Just Print INFO message
2023/12/20 23:55:30 [DEBUG] You using gogger logger for logging messages in this project!

App Output Tree

SimpleApp
├── logs
│   └── logs.log
├── main.go
└── utils
    └── helper.go