@@ -38,6 +38,7 @@ func NewLogger() *Logger {
3838 return & Logger {
3939 running : & atomic.Bool {},
4040 fileLock : & sync.RWMutex {},
41+ writer : nil ,
4142 }
4243}
4344
@@ -47,18 +48,6 @@ func (sublogger *Logger) Start() error {
4748 return nil
4849 }
4950
50- filepath := path .Join ("logger/order" , fmt .Sprint (logger .Timestamp .Format (time .RFC3339 )+ ".csv" ))
51- os .MkdirAll (path .Dir (filepath ), os .ModePerm )
52- file , err := os .Create (filepath )
53- if err != nil {
54- return & logger.ErrCreatingFile {
55- Name : Name ,
56- Timestamp : time .Now (),
57- Inner : err ,
58- }
59- }
60- sublogger .writer = file
61-
6251 fmt .Println ("Logger started" )
6352 return nil
6453}
@@ -84,10 +73,25 @@ func (sublogger *Logger) PushRecord(record abstraction.LoggerRecord) error {
8473 sublogger .fileLock .Lock ()
8574 defer sublogger .fileLock .Unlock ()
8675
76+ if sublogger .writer == nil {
77+ filename := path .Join ("logger/order" , fmt .Sprintf ("order_%s" , logger .Timestamp .Format (time .RFC3339 )), "order.csv" )
78+ os .MkdirAll (path .Dir (filename ), os .ModePerm )
79+
80+ file , err := os .Create (filename )
81+ if err != nil {
82+ return & logger.ErrCreatingFile {
83+ Name : Name ,
84+ Timestamp : time .Now (),
85+ Inner : err ,
86+ }
87+ }
88+ sublogger .writer = file
89+ }
90+
8791 csvWriter := csv .NewWriter (sublogger .writer )
8892 defer csvWriter .Flush ()
8993
90- err := csvWriter .Write ([]string {time . Now ().Format (time .RFC3339 ), fmt .Sprint (orderRecord .Packet .GetValues ())})
94+ err := csvWriter .Write ([]string {orderRecord . Packet . Timestamp ().Format (time .RFC3339 ), fmt .Sprint (orderRecord .Packet .GetValues ())})
9195 if err != nil {
9296 return err
9397 }
0 commit comments