Skip to content

Avdushin/gogger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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