| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- package jobs
- import (
- "IotAdmin/core/logger"
- "IotAdmin/core/sdk/config"
- cLog "IotAdmin/core/sdk/pkg/logger"
- "IotAdmin/core/tools/writer"
- "fmt"
- "log"
- "sync"
- )
- var jobLogger *JobLogger
- var once sync.Once
- type JobLogger struct {
- *logger.Helper
- }
- func init() {
- GetJobLogger()
- }
- func GetJobLogger() *JobLogger {
- once.Do(func() {
- loggerHelper := setupJobLogger()
- jobLogger = &JobLogger{
- loggerHelper,
- }
- })
- return jobLogger
- }
- // setupJobLogger 设置设备日志组件
- func setupJobLogger() *logger.Helper {
- path := getJobLogPath()
- logCap := config.LoggerConfig.Cap
- if logCap == 0 {
- logCap = 1024
- }
- output, err := writer.NewFileWriter(
- writer.WithPath(path),
- writer.WithCap(logCap<<10),
- writer.WithSuffix("log"),
- )
- if err != nil {
- log.Printf("job logger setup error: %s \r\n", err.Error())
- }
- level := logger.DebugLevel
- if config.ApplicationConfig.Mode == "prod" {
- level = logger.InfoLevel
- }
- return logger.NewHelper(logger.NewLogger(logger.WithLevel(level), logger.WithOutput(output), logger.WithName("JOB")))
- }
- func getJobLogPath() string {
- path := config.LoggerConfig.Path
- if path == "" {
- path = "_logs/"
- } else if path[len(path)-1] != '/' {
- path += "/"
- }
- path += "jobs"
- return path
- }
- func CleanJobLog(days int) error {
- path := getJobLogPath()
- return cLog.DeleteLogsOlderThan(path, "log", days)
- }
- func (j *JobLogger) Info(msg string, args ...interface{}) {
- msg = "[CRON]" + msg
- if len(args) > 0 {
- for _, v := range args {
- msg += fmt.Sprintf(" %v", v)
- }
- }
- j.Helper.Info(msg)
- }
- func (j *JobLogger) Infof(msg string, args ...interface{}) {
- msg = "[JobCore]" + msg
- j.Helper.Infof(msg, args...)
- }
- func (j *JobLogger) Error(err error, msg string, args ...interface{}) {
- msg = "[CRON]" + msg
- if len(args) > 0 {
- for _, v := range args {
- msg += fmt.Sprintf("%v ", v)
- }
- }
- j.Helper.Errorf("%s; ERROR: %s", msg, err.Error())
- }
- func (j *JobLogger) Errorf(msg string, args ...interface{}) {
- msg = "[JobCore]" + msg
- j.Helper.Errorf(msg, args...)
- }
|