gcron 支持日志功能,并可设置日志输出的文件以及级别。默认情况下仅会输出 LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT 错误级别的日志(包括定时任务运行异常日志),运行日志以 LEVEL_DEBUG 的级别进行记录,因此默认不会记录。 gcron 组件使用了 goframe 框架统一的日志组件,因此可以复用日志组件的所有特性。相关方法:

    1. func SetLogger(logger glog.ILogger)
    2. func GetLogger() glog.ILogger

    定时任务-日志管理 - 图1提示

    日志组件特性请参考 日志组件 章节。

    使用示例:

    1. package main
    2. import (
    3. "context"
    4. "github.com/gogf/gf/v2/frame/g"
    5. "github.com/gogf/gf/v2/os/gcron"
    6. "github.com/gogf/gf/v2/os/gctx"
    7. "github.com/gogf/gf/v2/os/glog"
    8. "time"
    9. )
    10. func main() {
    11. var (
    12. err error
    13. ctx = gctx.New()
    14. logger = glog.New()
    15. )
    16. logger.SetLevel(glog.LEVEL_ALL)
    17. gcron.SetLogger(logger)
    18. _, err = gcron.Add(ctx, "* * * * * ?", func(ctx context.Context) {
    19. g.Log().Info(ctx, "test")
    20. })
    21. if err != nil {
    22. panic(err)
    23. }
    24. time.Sleep(3 * time.Second)
    25. }

    执行后,终端输出结果为:

    定时任务-日志管理 - 图2