add observer
This commit is contained in:
@ -14,6 +14,7 @@ import (
|
||||
ingress_parser "github.com/go-gost/x/config/parsing/ingress"
|
||||
limiter_parser "github.com/go-gost/x/config/parsing/limiter"
|
||||
logger_parser "github.com/go-gost/x/config/parsing/logger"
|
||||
observer_parser "github.com/go-gost/x/config/parsing/observer"
|
||||
recorder_parser "github.com/go-gost/x/config/parsing/recorder"
|
||||
resolver_parser "github.com/go-gost/x/config/parsing/resolver"
|
||||
router_parser "github.com/go-gost/x/config/parsing/router"
|
||||
@ -106,6 +107,13 @@ func buildService(cfg *config.Config) (services []service.Service) {
|
||||
}
|
||||
}
|
||||
|
||||
for _, observerCfg := range cfg.Observers {
|
||||
if h := observer_parser.ParseObserver(observerCfg); h != nil {
|
||||
if err := registry.ObserverRegistry().Register(observerCfg.Name, h); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
for _, recorderCfg := range cfg.Recorders {
|
||||
if h := recorder_parser.ParseRecorder(recorderCfg); h != nil {
|
||||
if err := registry.RecorderRegistry().Register(recorderCfg.Name, h); err != nil {
|
||||
|
@ -188,6 +188,7 @@ func (p *program) mergeConfig(cfg1, cfg2 *config.Config) *config.Config {
|
||||
RLimiters: append(cfg1.RLimiters, cfg2.RLimiters...),
|
||||
Loggers: append(cfg1.Loggers, cfg2.Loggers...),
|
||||
Routers: append(cfg1.Routers, cfg2.Routers...),
|
||||
Observers: append(cfg1.Observers, cfg2.Observers...),
|
||||
TLS: cfg1.TLS,
|
||||
Log: cfg1.Log,
|
||||
API: cfg1.API,
|
||||
|
Reference in New Issue
Block a user