@@ -8,20 +8,39 @@ import (
88 "github.com/pgEdge/control-plane/server/internal/config"
99)
1010
11+ type Component string
12+
13+ func (c Component ) String () string {
14+ return string (c )
15+ }
16+
17+ const (
18+ ComponentAPIServer Component = "api_server"
19+ ComponentElectionCandidate Component = "election_candidate"
20+ ComponentEmbeddedEtcd Component = "embedded_etcd"
21+ ComponentMigration Component = "migration"
22+ ComponentMigrationRunner Component = "migration_runner"
23+ ComponentPortsService Component = "ports_service"
24+ ComponentRemoteEtcd Component = "remote_etcd"
25+ ComponentSchedulerService Component = "scheduler_service"
26+ ComponentWorkflowsBackend Component = "workflows_backend"
27+ ComponentWorkflowsWorker Component = "workflows_worker"
28+ )
29+
1130type Factory struct {
1231 base zerolog.Logger
13- componentLevels map [string ]zerolog.Level
32+ componentLevels map [Component ]zerolog.Level
1433}
1534
1635func NewFactory (cfg config.Config , base zerolog.Logger ) (* Factory , error ) {
17- componentLevels := map [string ]zerolog.Level {}
36+ componentLevels := map [Component ]zerolog.Level {}
1837
1938 for component , l := range cfg .Logging .ComponentLevels {
2039 level , err := zerolog .ParseLevel (l )
2140 if err != nil {
2241 return nil , fmt .Errorf ("failed to parse level for component '%s': %w" , component , err )
2342 }
24- componentLevels [component ] = level
43+ componentLevels [Component ( component ) ] = level
2544 }
2645
2746 return & Factory {
@@ -30,12 +49,12 @@ func NewFactory(cfg config.Config, base zerolog.Logger) (*Factory, error) {
3049 }, nil
3150}
3251
33- func (f * Factory ) Logger (component string ) zerolog.Logger {
52+ func (f * Factory ) Logger (component Component ) zerolog.Logger {
3453 logger := f .base
3554 level , ok := f .componentLevels [component ]
3655 if ok {
3756 logger = logger .Level (level )
3857 }
3958
40- return logger .With ().Str ("component" , component ).Logger ()
59+ return logger .With ().Stringer ("component" , component ).Logger ()
4160}
0 commit comments