feat: implement new generic parser and improve production readyness

This commit is contained in:
Patryk Hegenberg 2026-01-18 12:37:57 +01:00
parent 8364218234
commit 0830b403e0
34 changed files with 1715 additions and 2114 deletions

View file

@ -6,18 +6,19 @@ import (
"log/slog"
"regexp"
"strings"
"tixel_watch/models"
"tixel_watch/parser"
"watch-tool/models"
"watch-tool/parser"
"github.com/hpcloud/tail"
)
type FileMonitor struct {
config ToolConfig
parser parser.Parser
config ToolConfig
parser parser.Parser
hostname string
}
func NewFileMonitor(config ToolConfig) *FileMonitor {
func NewFileMonitor(config ToolConfig, hostname string) *FileMonitor {
var logParser parser.Parser
if config.Format.Pattern != "" {
@ -34,15 +35,16 @@ func NewFileMonitor(config ToolConfig) *FileMonitor {
}
} else {
var err error
logParser, err = parser.New(config.Name, "custom")
logParser, err = parser.New(config.Name, "custom", hostname)
if err != nil {
slog.Error("cannot get tool specific parser", "error", err)
}
}
return &FileMonitor{
config: config,
parser: logParser,
config: config,
parser: logParser,
hostname: hostname,
}
}