定时任务-日志管理

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

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

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

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

使用示例:

package main

import (
    "context"
    "github.com/gogf/gf/v2/frame/g"
    "github.com/gogf/gf/v2/os/gcron"
    "github.com/gogf/gf/v2/os/gctx"
    "github.com/gogf/gf/v2/os/glog"
    "time"
)

func main() {
    var (
        err    error
        ctx    = gctx.New()
        logger = glog.New()
    )
    logger.SetLevel(glog.LEVEL_ALL)
    gcron.SetLogger(logger)
    _, err = gcron.Add(ctx, "* * * * * ?", func(ctx context.Context) {
        g.Log().Info(ctx, "test")
    })
    if err != nil {
        panic(err)
    }
    time.Sleep(3 * time.Second)
}

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

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