11package task
22
33import (
4- "bufio"
54 "context"
65 "errors"
76 "fmt"
8- "log"
97 "os"
108 "path"
119 "strconv"
1210 "time"
1311
1412 "github.com/1Panel-dev/1Panel/agent/buserr"
1513 "github.com/1Panel-dev/1Panel/agent/global"
14+ "github.com/sirupsen/logrus"
1615
1716 "github.com/1Panel-dev/1Panel/agent/app/model"
1817 "github.com/1Panel-dev/1Panel/agent/app/repo"
@@ -29,8 +28,7 @@ type Task struct {
2928
3029 Name string
3130 TaskID string
32- Logger * log.Logger
33- Writer * bufio.Writer
31+ Logger * logrus.Logger
3432 SubTasks []* SubTask
3533 Rollbacks []RollbackFunc
3634 logFile * os.File
@@ -138,12 +136,13 @@ func NewTask(name, operate, taskScope, taskID string, resourceID uint) (*Task, e
138136 }
139137 }
140138 logPath := path .Join (global .Dir .TaskDir , taskScope , taskID + ".log" )
141- file , err := os .OpenFile (logPath , os .O_TRUNC | os .O_CREATE | os .O_WRONLY , constant .FilePerm )
139+ logger := logrus .New ()
140+ logger .SetFormatter (& SimpleFormatter {})
141+ logFile , err := os .OpenFile (logPath , os .O_TRUNC | os .O_CREATE | os .O_WRONLY , constant .FilePerm )
142142 if err != nil {
143143 return nil , fmt .Errorf ("failed to open log file: %w" , err )
144144 }
145- writer := bufio .NewWriter (file )
146- logger := log .New (file , "" , log .LstdFlags )
145+ logger .SetOutput (logFile )
147146 taskModel := & model.Task {
148147 ID : taskID ,
149148 Name : name ,
@@ -156,7 +155,7 @@ func NewTask(name, operate, taskScope, taskID string, resourceID uint) (*Task, e
156155 taskRepo := repo .NewITaskRepo ()
157156 ctx , cancle := context .WithCancel (context .Background ())
158157 global .TaskCtxMap [taskID ] = cancle
159- task := & Task {TaskCtx : ctx , Name : name , logFile : file , Logger : logger , taskRepo : taskRepo , Task : taskModel , Writer : writer }
158+ task := & Task {TaskCtx : ctx , Name : name , logFile : logFile , Logger : logger , taskRepo : taskRepo , Task : taskModel }
160159 return task , nil
161160}
162161
@@ -175,16 +174,18 @@ func ReNewTask(name, operate, taskScope, taskID string, resourceID uint) (*Task,
175174 return nil , fmt .Errorf ("failed to create log directory: %w" , err )
176175 }
177176 }
177+
178178 logPath := path .Join (global .Dir .TaskDir , taskScope , taskID + ".log" )
179- file , err := os .OpenFile (logPath , os .O_APPEND | os .O_CREATE | os .O_WRONLY , constant .FilePerm )
179+ logger := logrus .New ()
180+ logger .SetFormatter (& SimpleFormatter {})
181+ logFile , err := os .OpenFile (logPath , os .O_APPEND | os .O_CREATE | os .O_WRONLY , constant .FilePerm )
180182 if err != nil {
181183 return nil , fmt .Errorf ("failed to open log file: %w" , err )
182184 }
183- writer := bufio .NewWriter (file )
184- logger := log .New (file , "" , log .LstdFlags )
185+ logger .SetOutput (logFile )
185186 logger .Print ("\n --------------------------------------------------- \n " )
186187 taskItem .Status = constant .StatusExecuting
187- task := & Task {Name : name , logFile : file , Logger : logger , taskRepo : taskRepo , Task : & taskItem , Writer : writer }
188+ task := & Task {Name : name , logFile : logFile , Logger : logger , taskRepo : taskRepo , Task : & taskItem }
188189 task .updateTask (& taskItem )
189190 return task , nil
190191}
@@ -353,3 +354,11 @@ func (t *Task) LogSuccessWithOps(operate, msg string) {
353354func (t * Task ) LogFailedWithOps (operate , msg string , err error ) {
354355 t .Logger .Printf ("%s%s%s : %s " , i18n .GetMsgByKey (operate ), msg , i18n .GetMsgByKey ("Failed" ), err .Error ())
355356}
357+
358+ type SimpleFormatter struct {}
359+
360+ func (f * SimpleFormatter ) Format (entry * logrus.Entry ) ([]byte , error ) {
361+ timestamp := entry .Time .Format ("2006/01/02 15:04:05" )
362+ message := fmt .Sprintf ("%s %s\n " , timestamp , entry .Message )
363+ return []byte (message ), nil
364+ }
0 commit comments