gookit/slog

slog: failed to handle log, error: write ./logs/info.log: file already closed

qmdx opened this issue · 3 comments

qmdx commented

windows 自动创建日志目录异常 slog: failed to handle log, error: write ./logs/info.log: file already closed

import (
	"github.com/gookit/slog"
	"github.com/gookit/slog/handler"
	"github.com/gookit/slog/rotatefile"
)

func Slog() {
	defer slog.MustClose()

	// DangerLevels 包含: slog.PanicLevel, slog.ErrorLevel, slog.WarnLevel
	h1 := handler.MustRotateFile("./logs/error.log", rotatefile.EveryDay,
		handler.WithLogLevels(slog.DangerLevels),
		handler.WithCompress(true),
	)

	// NormalLevels 包含: slog.InfoLevel, slog.NoticeLevel, slog.DebugLevel, slog.TraceLevel
	h2 := handler.MustFileHandler("./logs/info.log", handler.WithLogLevels(slog.NormalLevels))

	// 注册 handler 到 logger(调度器)
	slog.PushHandlers(h1, h2)

	// add logs
	slog.Info("info message text")
	slog.Error("error message text")
}
qmdx commented

@inhere 能不能修复下这个 bug 搁置时间有点长哦

@inhere 能不能修复下这个 bug 搁置时间有点长哦

我mac本地没复现,日志目录和文件有创建吗?运行中突然报错的吗

我本地用 Windows 测试也没有复现 go1.21。你的 go 版本是多少