package main

import (
	"go.uber.org/zap"
)

func main() {
	// 1. 创建 Logger
	logger, _ := zap.NewProduction()
	defer logger.Sync()

	// 2. 设置为全局 Logger
	zap.ReplaceGlobals(logger)

	// 3. 在任何地方使用全局 Logger
	doSomething()
	doAnotherThing()
}

func doSomething() {
	// 直接使用全局 Logger
	zap.L().Info("Doing something",
		zap.String("function", "doSomething"),
	)
}

func doAnotherThing() {
	// 使用全局 Sugar Logger
	zap.S().Infow("Doing another thing",
		"function", "doAnotherThing",
	)
}
