Untitled

 avatar
unknown
golang
a year ago
1.2 kB
5
Indexable
package main

import (
	"clean-arch-template/pkg"

	log "go.uber.org/zap" // Чтобы было удобнее, можно так и не делать
)

func main() {
	// Создаем логгера с уровнем debug и записью в виде текста
	lg := pkg.CreateLogger("debug", "text")
	// Пишем стандартный лог
	lg.Info("Main: hello world")

	// Добавляем в логгера строковое поле requestID, теперь все записи будут идти с этим логом
	lg = lg.With(log.String("RequestID", "1"))

	// Смотрим, что debug логи тоже выводятся + структурированный лог
	lg.Debug("Main: check love power", log.Int("SashaLevel", 2), log.Int("NastyaLevel", 1))

	// Здесь выводим info лог + структура. Обратим внимание, что RequestID тоже есть
	lg.Info("Main: winner", log.String("Winner", "Sasha"), log.String("Pig", "Nastya"))

	// Как передавать его в функцию
	check(lg)
}

// Функцию для показания лога
func check(lg *log.Logger) {
	lg.Info("LogFunc", log.String("Func", "check"))
}
Editor is loading...
Leave a Comment