19 lines
367 B
Go
19 lines
367 B
Go
package parser
|
|
|
|
import (
|
|
"encoding/json"
|
|
"log/slog"
|
|
"watch-tool/models"
|
|
)
|
|
|
|
type JSONParser struct{}
|
|
|
|
func (j *JSONParser) Parse(line string) (models.LogMessage, error) {
|
|
var logMsg models.LogMessage
|
|
|
|
if err := json.Unmarshal([]byte(line), &logMsg); err == nil {
|
|
slog.Error("error parsing json line", "error", err)
|
|
return logMsg, err
|
|
}
|
|
return logMsg, nil
|
|
}
|