|
9 | 9 | "time" |
10 | 10 |
|
11 | 11 | "github.com/hashicorp/go-plugin" |
| 12 | + "go.uber.org/zap/zapcore" |
12 | 13 |
|
13 | 14 | "github.com/smartcontractkit/chainlink-common/pkg/config" |
14 | 15 | ) |
@@ -62,6 +63,7 @@ const ( |
62 | 63 | envTelemetryEmitterExportMaxBatchSize = "CL_TELEMETRY_EMITTER_EXPORT_MAX_BATCH_SIZE" |
63 | 64 | envTelemetryEmitterMaxQueueSize = "CL_TELEMETRY_EMITTER_MAX_QUEUE_SIZE" |
64 | 65 | envTelemetryLogStreamingEnabled = "CL_TELEMETRY_LOG_STREAMING_ENABLED" |
| 66 | + envTelemetryLogLevel = "CL_TELEMETRY_LOG_LEVEL" |
65 | 67 |
|
66 | 68 | envChipIngressEndpoint = "CL_CHIP_INGRESS_ENDPOINT" |
67 | 69 | envChipIngressInsecureConnection = "CL_CHIP_INGRESS_INSECURE_CONNECTION" |
@@ -118,6 +120,7 @@ type EnvConfig struct { |
118 | 120 | TelemetryEmitterExportMaxBatchSize int |
119 | 121 | TelemetryEmitterMaxQueueSize int |
120 | 122 | TelemetryLogStreamingEnabled bool |
| 123 | + TelemetryLogLevel zapcore.Level |
121 | 124 |
|
122 | 125 | ChipIngressEndpoint string |
123 | 126 | ChipIngressInsecureConnection bool |
@@ -186,7 +189,8 @@ func (e *EnvConfig) AsCmdEnv() (env []string) { |
186 | 189 | add(envTelemetryEmitterExportInterval, e.TelemetryEmitterExportInterval.String()) |
187 | 190 | add(envTelemetryEmitterExportMaxBatchSize, strconv.Itoa(e.TelemetryEmitterExportMaxBatchSize)) |
188 | 191 | add(envTelemetryEmitterMaxQueueSize, strconv.Itoa(e.TelemetryEmitterMaxQueueSize)) |
189 | | - add(envTelemetryLogStreamingEnabled, strconv.FormatBool(e.TelemetryLogStreamingEnabled)) |
| 192 | + add(envTelemetryLogStreamingEnabled, strconv.FormatBool(e.TelemetryLogStreamingEnabled)) |
| 193 | + add(envTelemetryLogLevel, e.TelemetryLogLevel.String()) |
190 | 194 |
|
191 | 195 | add(envChipIngressEndpoint, e.ChipIngressEndpoint) |
192 | 196 | add(envChipIngressInsecureConnection, strconv.FormatBool(e.ChipIngressInsecureConnection)) |
@@ -351,6 +355,15 @@ func (e *EnvConfig) parse() error { |
351 | 355 | if err != nil { |
352 | 356 | return fmt.Errorf("failed to parse %s: %w", envTelemetryLogStreamingEnabled, err) |
353 | 357 | } |
| 358 | + logLevelStr := os.Getenv(envTelemetryLogLevel) |
| 359 | + if logLevelStr == "" { |
| 360 | + logLevelStr = "info" // Default log level |
| 361 | + } |
| 362 | + var logLevel zapcore.Level |
| 363 | + if err := logLevel.Set(logLevelStr); err != nil { |
| 364 | + logLevel = zapcore.InfoLevel // Fallback to info level on invalid input |
| 365 | + } |
| 366 | + e.TelemetryLogLevel = logLevel |
354 | 367 | // Optional |
355 | 368 | e.ChipIngressEndpoint = os.Getenv(envChipIngressEndpoint) |
356 | 369 | e.ChipIngressInsecureConnection, err = getBool(envChipIngressInsecureConnection) |
|
0 commit comments