gookit / slog

📑 Lightweight, configurable, extensible logging library written in Go. Support multi level, multi outputs and built-in multi file logger, buffers, clean, rotate-file handling.一个易于使用的,轻量级、可配置、可扩展的日志库。支持多个级别,输出到多文件;内置文件日志处理、自动切割、清理、压缩等增强功能
https://pkg.go.dev/github.com/gookit/slog
MIT License
386 stars 25 forks source link

设置了模板,打印没问题,文件里无效 #87

Closed zuozhehao closed 1 year ago

zuozhehao commented 1 year ago
formatter.SetTemplate("[{{datetime}}] [{{level}}] {{message}} {{data}} {{extra}}\n")

取消了channelcaller,日志文件里还是存在

inhere commented 1 year ago

多贴一点看下 formatter 从哪里来的

zuozhehao commented 1 year ago

多贴一点看下 formatter 从哪里来的

slog.Configure(func(logger *slog.SugaredLogger) {
    formatter := logger.Formatter.(*slog.TextFormatter)
    formatter.SetTemplate("[{{datetime}}] [{{level}}] {{message}} {{data}} {{extra}}\n")
})

@inhere

inhere commented 1 year ago

https://github.com/gookit/slog/issues/83 参考这个问题, slog.Configure 只会控制默认打印.

你应该设置日志文件的formatter:

// h 即是创建的 文件handler
f := h.Formatter().(*slog.TextFormatter)
f.SetTemplate("[{{datetime}}] [{{level}}] {{message}} {{data}} {{extra}}\n")
zuozhehao commented 1 year ago

THKS