1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2026-06-03 18:35:08 +02:00

log: Change EnabledParameters to have a field instead of getter and setter (#6009)

Allow users to to write less verbose code by changing methods to field.
This commit is contained in:
Robert Pająk
2024-12-03 18:36:49 +01:00
committed by GitHub
parent 9f82e51c89
commit 2f0bf8e095
5 changed files with 18 additions and 40 deletions
+3 -3
View File
@@ -264,9 +264,9 @@ allocations and make it possible to handle new arguments, `Enabled` accepts
a `EnabledParameters` struct, defined in [logger.go](logger.go), as the second
method argument.
The `EnabledParameters` getters are returning values using the `(value, ok)`
idiom in order to indicate if the values were actually set by the caller or if
there are unspecified.
The `EnabledParameters` uses fields, instead of getters and setters, to allow
simpler usage which allows configuring the `EnabledParameters` in the same line
where `Enabled` is called.
### noop package
+1 -14
View File
@@ -138,18 +138,5 @@ func WithSchemaURL(schemaURL string) LoggerOption {
// EnabledParameters represents payload for [Logger]'s Enabled method.
type EnabledParameters struct {
severity Severity
severitySet bool
}
// Severity returns the [Severity] level value, or [SeverityUndefined] if no value was set.
// The ok result indicates whether the value was set.
func (r *EnabledParameters) Severity() (value Severity, ok bool) {
return r.severity, r.severitySet
}
// SetSeverity sets the [Severity] level.
func (r *EnabledParameters) SetSeverity(level Severity) {
r.severity = level
r.severitySet = true
Severity Severity
}
+10 -19
View File
@@ -68,21 +68,16 @@ func TestRecorderLoggerCreatesNewStruct(t *testing.T) {
func TestLoggerEnabled(t *testing.T) {
for _, tt := range []struct {
name string
options []Option
ctx context.Context
buildEnabledParameters func() log.EnabledParameters
isEnabled bool
name string
options []Option
ctx context.Context
enabledParams log.EnabledParameters
want bool
}{
{
name: "the default option enables every log entry",
ctx: context.Background(),
buildEnabledParameters: func() log.EnabledParameters {
return log.EnabledParameters{}
},
isEnabled: true,
want: true,
},
{
name: "with everything disabled",
@@ -91,17 +86,13 @@ func TestLoggerEnabled(t *testing.T) {
return false
}),
},
ctx: context.Background(),
buildEnabledParameters: func() log.EnabledParameters {
return log.EnabledParameters{}
},
isEnabled: false,
ctx: context.Background(),
want: false,
},
} {
t.Run(tt.name, func(t *testing.T) {
e := NewRecorder(tt.options...).Logger("test").Enabled(tt.ctx, tt.buildEnabledParameters())
assert.Equal(t, tt.isEnabled, e)
e := NewRecorder(tt.options...).Logger("test").Enabled(tt.ctx, tt.enabledParams)
assert.Equal(t, tt.want, e)
})
}
}