Categorygithub.com/serialt/sugar/v3
package
3.0.9
Repository: https://github.com/serialt/sugar.git
Documentation: pkg.go.dev

# README

sugar lib

封装好的一些常用方法

使用方法

go get github.com/serialt/sugar/v3

go get golang.org/x/exp/slog

库使用方法

简单使用日志

package main

import (
	"github.com/serialt/sugar/v3"
	"golang.org/x/exp/slog"
)

func init() {
	slog.SetDefault(sugar.New())
}

func main() {
	slog.Debug("debug", "hello", "world")
	slog.Info("info", "hello", "world")
	slog.Error("error", "hello", "world")
}

可选参数

package main

import (
	sugar "github.com/serialt/sugar/v3"
	"golang.org/x/exp/slog"
)

func init() {
	slog.SetDefault(sugar.New(
		sugar.WithLevel("debug"),
	))
}
func main() {

	slog.Debug("debug msg")
	slog.Info("info msg")
}

复杂使用

package main

import (
	sugar "github.com/serialt/sugar/v3"
	flag "github.com/spf13/pflag"
	"golang.org/x/exp/slog"
)

type Config struct {
	Server   string
	Port     string
	LogLevel string
}

var (
	cfgfile string
	config  *Config
)

func init() {

	flag.StringVarP(&cfgfile, "config", "c", "config.yaml", "Config file")
	flag.CommandLine.SortFlags = false
	flag.Parse()

	err := sugar.LoadConfig(cfgfile, &config)
	if err != nil {
		config = new(Config)
	}
	slog.SetDefault(sugar.New(
		sugar.WithLevel(config.LogLevel),
	))
}
func main() {
	slog.Info("struct", "cfg", config)
	slog.Debug("debug msg")
	slog.Info("info msg")
}