Skip to content

Commit 3f73e57

Browse files
committed
support "log_configuration" levels for jobs
1 parent 66fcbc6 commit 3f73e57

File tree

5 files changed

+24
-8
lines changed

5 files changed

+24
-8
lines changed

config/config.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1275,11 +1275,12 @@ type JobConfig struct {
12751275

12761276
// JobConfigData is the job config data that gets marshaled/unmarshaled.
12771277
type JobConfigData struct {
1278-
Name string `json:"name"`
1279-
Schedule string `json:"schedule"`
1280-
Resource string `json:"resource"`
1281-
Method string `json:"method"`
1282-
Command map[string]any `json:"command,omitempty"`
1278+
Name string `json:"name"`
1279+
Schedule string `json:"schedule"`
1280+
Resource string `json:"resource"`
1281+
Method string `json:"method"`
1282+
Command map[string]any `json:"command,omitempty"`
1283+
LogConfiguration *resource.LogConfig `json:"log_configuration,omitempty"`
12831284
}
12841285

12851286
// MarshalJSON marshals out this config.

config/proto_conversions.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,6 +1032,9 @@ func JobsConfigToProto(jc *JobConfig) (*pb.JobConfig, error) {
10321032
}
10331033
protoConfig.Command = command
10341034
}
1035+
if jc.LogConfiguration != nil {
1036+
protoConfig.LogConfiguration = &pb.LogConfiguration{Level: strings.ToLower(jc.LogConfiguration.Level.String())}
1037+
}
10351038
return protoConfig, nil
10361039
}
10371040

@@ -1049,5 +1052,14 @@ func JobsConfigFromProto(proto *pb.JobConfig, _ logging.Logger) (*JobConfig, err
10491052
if proto.Command != nil {
10501053
jobConfig.Command = proto.Command.AsMap()
10511054
}
1055+
if proto.LogConfiguration != nil {
1056+
if proto.GetLogConfiguration() != nil {
1057+
level, err := logging.LevelFromString(proto.GetLogConfiguration().Level)
1058+
if err != nil {
1059+
level = logging.INFO
1060+
}
1061+
jobConfig.LogConfiguration = &resource.LogConfig{Level: level}
1062+
}
1063+
}
10521064
return jobConfig, nil
10531065
}

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ require (
8585
go.uber.org/atomic v1.11.0
8686
go.uber.org/multierr v1.11.0
8787
go.uber.org/zap v1.27.0
88-
go.viam.com/api v0.1.490
88+
go.viam.com/api v0.1.493
8989
go.viam.com/test v1.2.4
9090
go.viam.com/utils v0.1.176
9191
goji.io v2.0.2+incompatible

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1587,8 +1587,8 @@ go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
15871587
go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY=
15881588
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
15891589
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
1590-
go.viam.com/api v0.1.490 h1:4ARXkNJOcsHFukj/LH+kDn94nClSMLTjTlXBb+S8X+4=
1591-
go.viam.com/api v0.1.490/go.mod h1:p/am76zx8SZ74V/F4rEAYQIpHaaLUwJgY2q3Uw3FIWk=
1590+
go.viam.com/api v0.1.493 h1:VlOaSQkV2TYGecPHCygSs66vdojBDX3otLCGpLHRM9o=
1591+
go.viam.com/api v0.1.493/go.mod h1:p/am76zx8SZ74V/F4rEAYQIpHaaLUwJgY2q3Uw3FIWk=
15921592
go.viam.com/test v1.2.4 h1:JYgZhsuGAQ8sL9jWkziAXN9VJJiKbjoi9BsO33TW3ug=
15931593
go.viam.com/test v1.2.4/go.mod h1:zI2xzosHdqXAJ/kFqcN+OIF78kQuTV2nIhGZ8EzvaJI=
15941594
go.viam.com/utils v0.1.176 h1:I5TvnuBZtE9i3e6j1VOBzWQ6W3nlUiOR/L4WpTMFhxg=

robot/jobmanager/jobmanager.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,9 @@ func (jm *JobManager) createDescriptorSourceAndgRPCMethod(
208208
// createJobFunction returns a function that the job scheduler puts on its queue.
209209
func (jm *JobManager) createJobFunction(jc config.JobConfig, continuous bool) func(ctx context.Context) error {
210210
jobLogger := jm.logger.Sublogger(jc.Name)
211+
if jc.LogConfiguration != nil {
212+
jobLogger.SetLevel(jc.LogConfiguration.Level)
213+
}
211214
// To support logging for quick jobs (~ on the seconds schedule), we disable log
212215
// deduplication for job loggers.
213216
jobLogger.NeverDeduplicate()

0 commit comments

Comments
 (0)