watch-tool/parser/factory.go

20 lines
410 B
Go

package parser
import "codeberg.org/pata1704/drain3"
type ParserConfig struct {
ServiceName string
LogType string
Hostname string
DrainConfig *drain3.Config
StateDir string
}
func New(cfg ParserConfig) (Parser, error) {
switch cfg.LogType {
case "json":
return &JSONParser{}, nil
default:
return NewGenericParser(cfg.ServiceName, cfg.Hostname, cfg.DrainConfig, cfg.StateDir), nil
}
}