44 "context"
55 "fmt"
66 "strings"
7+ "time"
78
89 "github.com/linuxboot/contest/cmds/admin_server/storage"
910 "github.com/linuxboot/contest/pkg/xcontext"
@@ -63,7 +64,7 @@ func toMongoQuery(query storage.Query) bson.D {
6364
6465 if query .Text != nil {
6566 q = append (q , bson.E {
66- Key : "logdata " ,
67+ Key : "log_data " ,
6768 Value : bson.M {
6869 "$regex" : primitive.Regex {Pattern : * query .Text , Options : "ig" },
6970 },
@@ -94,7 +95,7 @@ func toMongoQuery(query storage.Query) bson.D {
9495 levels := strings .Split (* query .LogLevel , "," )
9596 q = append (q ,
9697 bson.E {
97- Key : "loglevel " ,
98+ Key : "log_level " ,
9899 Value : bson.M {
99100 "$in" : levels ,
100101 },
@@ -106,7 +107,8 @@ func toMongoQuery(query storage.Query) bson.D {
106107}
107108
108109func (s * MongoStorage ) StoreLog (ctx xcontext.Context , log storage.Log ) error {
109- _ , err := s .collection .InsertOne (ctx , log )
110+ mongoLog := toMongoLog (& log )
111+ _ , err := s .collection .InsertOne (ctx , mongoLog )
110112 if err != nil {
111113 // for better debugging
112114 ctx .Errorf ("Error while inserting into the db: %v" , err )
@@ -134,15 +136,20 @@ func (s *MongoStorage) GetLogs(ctx xcontext.Context, query storage.Query) (*stor
134136 return nil , storage .ErrQuery
135137 }
136138
137- var logs []storage. Log
139+ var logs []Log
138140 err = cur .All (ctx , & logs )
139141 if err != nil {
140142 ctx .Errorf ("Error while reading query result from db: %v" , err )
141143 return nil , storage .ErrQuery
142144 }
145+ // convert to storage logs
146+ storageLogs := make ([]storage.Log , 0 , len (logs ))
147+ for _ , log := range logs {
148+ storageLogs = append (storageLogs , log .toStorageLog ())
149+ }
143150
144151 return & storage.Result {
145- Logs : logs ,
152+ Logs : storageLogs ,
146153 Count : uint64 (count ),
147154 Page : query .Page ,
148155 PageSize : query .PageSize ,
@@ -152,3 +159,28 @@ func (s *MongoStorage) GetLogs(ctx xcontext.Context, query storage.Query) (*stor
152159func (s * MongoStorage ) Close (ctx xcontext.Context ) error {
153160 return s .dbClient .Disconnect (ctx )
154161}
162+
163+ type Log struct {
164+ JobID uint64 `bson:"job_id"`
165+ LogData string `bson:"log_data"`
166+ Date time.Time `bson:"date"`
167+ LogLevel string `bson:"log_level"`
168+ }
169+
170+ func (l * Log ) toStorageLog () storage.Log {
171+ return storage.Log {
172+ JobID : l .JobID ,
173+ LogData : l .LogData ,
174+ Date : l .Date ,
175+ LogLevel : l .LogLevel ,
176+ }
177+ }
178+
179+ func toMongoLog (l * storage.Log ) Log {
180+ return Log {
181+ JobID : l .JobID ,
182+ LogData : l .LogData ,
183+ Date : l .Date ,
184+ LogLevel : l .LogLevel ,
185+ }
186+ }
0 commit comments