-
Notifications
You must be signed in to change notification settings - Fork 218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
slog support + logr 1.3.0 update #384
Conversation
This issue is currently awaiting triage. If klog contributors determine this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
LogSink.Enabled is sensitive to stack unwinding. logr v1.2.0 got this wrong by calling LogSink.Enabled at different depths for Logger.Info and Logger.Enabled, therefore this test fails with that version. logr v1.3.0 changes the behavior to the more sane "LogSink.Enabled needs to skip one level, regardless where it is called". The Discard log sink implementation changed such that a discard logger doesn't have a sink at all anymore. Go < 1.18 is no longer supported by logr.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess the WIP can be removed now?
Check back tomorrow for the rest...
"k8s.io/klog/v2" | ||
) | ||
|
||
func TestVerbosity(t *testing.T) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which function is this test function testing against?
for this klog.VDepth(l.callDepth+1, klog.Level(level)).Enabled()
?
Or is it just a missing test before? I don't see the code to be tested in this PR. Is this test any different from the previous behavior? Maybe I'm missing something.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a test that was missing before, about handling of the logr.Logger.Enabled
call. The behavior of that call changed in 1.3.0 with regards to the call depth.
If you look at the first commit in this PR, then you'll see that textlogger/textlogger.go has a change related to this.
contextual_test.go
Outdated
@@ -56,3 +59,52 @@ func ExampleFlushLogger() { | |||
// Output: | |||
// flushing... | |||
} | |||
|
|||
func BenchmarkPassingLogger(b *testing.B) { | |||
b.Run("context", func(b *testing.B) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit:
b.Run("context", func(b *testing.B) { | |
b.Run("with context", func(b *testing.B) { |
might be more readable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay.
contextual_test.go
Outdated
runtime.KeepAlive(finalCtx) | ||
}) | ||
|
||
b.Run("directly", func(b *testing.B) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
b.Run("directly", func(b *testing.B) { | |
b.Run("without context", func(b *testing.B) { |
nit: May be this might be a bit more readable ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay.
contextual_test.go
Outdated
runtime.KeepAlive(finalLogger) | ||
}) | ||
|
||
b.Run("directly", func(b *testing.B) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've changed to "from context" and removed the "directly" here, because it's the same as the case above (there's no additional work for extraction).
if Time != nil { | ||
now = *Time | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there no way to avoid having to do this? From what I can think of, this is mostly test only use case than anything else. I know go test examples need a strict string match. Is there a way we can work around this somehow ? This is more of a question than something that needs to be fixed before we can get this change in.
This one will add a condition check for each of the Format
or Sprint
header calls unnecessarily.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is needed for Example*
style unit tests where the output is matched verbatim. There is no workaround for this, upstream Go recommends to make all output of such tests deterministic.
// +build !go1.21 | ||
|
||
/* | ||
Copyright 2021 The Kubernetes Authors. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be a silly question. But don't we need to fix the year on this copyright ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For new files, as in this case, yes. Will do.
For existing files it's normal to not bump it up, even when adding or modifying content.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
internal/serialize/keyvalues_slog.go
also had 2021 - fixed as well.
switch { | ||
case level >= slog.LevelError: | ||
s = severity.ErrorLog | ||
case level >= slog.LevelWarn: | ||
s = severity.WarningLog | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be a good idea to document why this is being done as a comment ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added.
k8s_references_slog.go
Outdated
return slog.AnyValue(ks.MarshalLog()) | ||
} | ||
|
||
var _ slog.LogValuer = ObjectRef{} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is duplicate of line 33 right ? Should this not be
var _ slog.LogValuer = ObjectRef{} | |
var _ slog.LogValuer = kobjSlice{} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ooops. Yes, fixed.
"coordinates", coordinates{x: 100, y: 200}, | ||
) | ||
|
||
// Output: | ||
// I1224 12:30:40.000000 123 textlogger_slog_test.go:55] "A debug message" | ||
// I1224 12:30:40.000000 123 textlogger_slog_test.go:57] "An info message" | ||
// W1224 12:30:40.000000 123 textlogger_slog_test.go:58] "A warning" | ||
// E1224 12:30:40.000000 123 textlogger_slog_test.go:59] "An error" err="fake error" | ||
// I1224 12:30:40.000000 123 textlogger_slog_test.go:62] "Grouping" top.int=42 top.variables={"a":1,"b":2} top.sub={"str":"abc","bool":true,"bottom":{"coordinates":{"X":-1,"Y":-2}}} top.duration="1s" top.pi=3.12 top.e=2.71 top.moreCoordinates={"X":100,"Y":200} | ||
// I1224 12:30:40.000000 123 textlogger_slog_test.go:78] "slog values" variables={"a":1,"b":2} duration="1s" coordinates={"X":100,"Y":200} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let us say for the sake of discussion, Instead of example based tests, if we turn these into regular tests and capture the data in buffers, can we use regex based validation for the output and avoid having to perform testlogger.FixedTime
calls ? If you don't think that is not as user friendly as the current one, I am all right since you have already marked the exposed API as experimental
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer the Example*
style test because it has additional benefits (shows up in gopkg, gives users a preview what the output will look like).
When compiled with Go >= 1.21, special support for log/slog gets enabled automatically: - The formatting of key/value pairs supports slog.Value and slog.LogValuer, regardless of where those come from. - A slog.GroupValue is formatted as a JSON object. - The logger returned by klog.Background() and the textlogger support usage as a backend for the slog API, via slogr.NewSlogHandler, with builtin support for handling a slog.Record. However, -vmodule does not work when called like that because stack unwinding during the Enabled check finds the wrong source code. - KObj (= ObjectRef) and the type behind KObjSlice support the slog.LogValuer interface and thus get formatted properly by slog backends. The klogr package doesn't get updated. It shouldn't be used anymore. To make that clearer, it gets marked as "deprecated". Examples demonstrate the resulting output. That output has to be exactly the same when used as test, so pid and time get set to fixed values.
@harshanarayana: update pushed. |
from my side wait for @harshanarayana confirm. |
/lgtm |
/hold cancel |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dims, harshanarayana, mengjiao-liu, pohly The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [k8s.io/klog/v2](https://togithub.com/kubernetes/klog) | require | minor | `v2.100.1` -> `v2.110.1` | --- ### Release Notes <details> <summary>kubernetes/klog (k8s.io/klog/v2)</summary> ### [`v2.110.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.110.1): Prepare klog release for Kubernetes v1.29 (Take 1) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.100.1...v2.110.1) #### What's Changed - fix: SetLogger via klog.SetLogger will output an unexpected newline by [@​aimuz](https://togithub.com/aimuz) in [https://github.com/kubernetes/klog/pull/378](https://togithub.com/kubernetes/klog/pull/378) - resolve comments warning by [@​lowang-bh](https://togithub.com/lowang-bh) in [https://github.com/kubernetes/klog/pull/379](https://togithub.com/kubernetes/klog/pull/379) - stderrthreshold: fix flag comment by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/376](https://togithub.com/kubernetes/klog/pull/376) - enable "go vet" checks for parameters by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/390](https://togithub.com/kubernetes/klog/pull/390) - promote experimental code to stable by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/392](https://togithub.com/kubernetes/klog/pull/392) - golangci-lint action by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/380](https://togithub.com/kubernetes/klog/pull/380) - output: handle WithName like zapr does by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/391](https://togithub.com/kubernetes/klog/pull/391) - slog support + logr 1.3.0 update by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/384](https://togithub.com/kubernetes/klog/pull/384) #### New Contributors - [@​aimuz](https://togithub.com/aimuz) made their first contribution in [https://github.com/kubernetes/klog/pull/378](https://togithub.com/kubernetes/klog/pull/378) - [@​lowang-bh](https://togithub.com/lowang-bh) made their first contribution in [https://github.com/kubernetes/klog/pull/379](https://togithub.com/kubernetes/klog/pull/379) **Full Changelog**: kubernetes/klog@v2.100.1...v2.110.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/hetznercloud/hcloud-cloud-controller-manager). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMS41IiwidXBkYXRlZEluVmVyIjoiMzcuMzEuNSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [k8s.io/klog](https://togithub.com/kubernetes/klog) | require | major | `v1.0.0` -> `v2.110.1` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>kubernetes/klog (k8s.io/klog)</summary> ### [`v2.110.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.110.1): Prepare klog release for Kubernetes v1.29 (Take 1) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.100.1...v2.110.1) #### What's Changed - fix: SetLogger via klog.SetLogger will output an unexpected newline by [@​aimuz](https://togithub.com/aimuz) in [https://github.com/kubernetes/klog/pull/378](https://togithub.com/kubernetes/klog/pull/378) - resolve comments warning by [@​lowang-bh](https://togithub.com/lowang-bh) in [https://github.com/kubernetes/klog/pull/379](https://togithub.com/kubernetes/klog/pull/379) - stderrthreshold: fix flag comment by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/376](https://togithub.com/kubernetes/klog/pull/376) - enable "go vet" checks for parameters by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/390](https://togithub.com/kubernetes/klog/pull/390) - promote experimental code to stable by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/392](https://togithub.com/kubernetes/klog/pull/392) - golangci-lint action by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/380](https://togithub.com/kubernetes/klog/pull/380) - output: handle WithName like zapr does by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/391](https://togithub.com/kubernetes/klog/pull/391) - slog support + logr 1.3.0 update by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/384](https://togithub.com/kubernetes/klog/pull/384) #### New Contributors - [@​aimuz](https://togithub.com/aimuz) made their first contribution in [https://github.com/kubernetes/klog/pull/378](https://togithub.com/kubernetes/klog/pull/378) - [@​lowang-bh](https://togithub.com/lowang-bh) made their first contribution in [https://github.com/kubernetes/klog/pull/379](https://togithub.com/kubernetes/klog/pull/379) **Full Changelog**: kubernetes/klog@v2.100.1...v2.110.1 ### [`v2.100.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.100.1): Prepare klog release for Kubernetes v1.28 (Take 1) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.90.1...v2.100.1) #### What's Changed - expose logBridge via NewStandardLog() by [@​mikedanese](https://togithub.com/mikedanese) in [https://github.com/kubernetes/klog/pull/369](https://togithub.com/kubernetes/klog/pull/369) - add Format wrapper by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/374](https://togithub.com/kubernetes/klog/pull/374) - JSON as fallback encoding by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/375](https://togithub.com/kubernetes/klog/pull/375) #### New Contributors - [@​mikedanese](https://togithub.com/mikedanese) made their first contribution in [https://github.com/kubernetes/klog/pull/369](https://togithub.com/kubernetes/klog/pull/369) **Full Changelog**: kubernetes/klog@v2.90.1...v2.100.1 ### [`v2.90.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.90.1): Prepare klog release for Kubernetes v1.27 (Take 2) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.90.0...v2.90.1) #### What's Changed - buffer: restore dropping of too large buffers by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/366](https://togithub.com/kubernetes/klog/pull/366) - ktesting improvements by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/365](https://togithub.com/kubernetes/klog/pull/365) - ktesting + textlogger config api by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/368](https://togithub.com/kubernetes/klog/pull/368) - textlogger write through by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/363](https://togithub.com/kubernetes/klog/pull/363) **Full Changelog**: kubernetes/klog@v2.90.0...v2.90.1 ### [`v2.90.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.90.0): Prepare klog release for Kubernetes v1.27 (Take 1) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.80.1...v2.90.0) #### What's Changed - klog: benchmark the overhead when logging is off by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/355](https://togithub.com/kubernetes/klog/pull/355) - improve textlogger by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/362](https://togithub.com/kubernetes/klog/pull/362) **Full Changelog**: kubernetes/klog@v2.80.1...v2.90.0 ##### There are some API differences from previous version k8s.io/klog/v2/klogr contains incompatible changes: - klogger.Enabled: removed - klogger.Error: removed - klogger.Info: removed k8s.io/klog/v2/test contains incompatible changes: - InitKlog: changed from func() to func(testing.TB) *flag.FlagSet ### [`v2.80.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.80.1): Prepare klog release for Kubernetes v1.26 (Take 2) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.80.0...v2.80.1) #### What's Changed - InitFlags concurrency fix by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/349](https://togithub.com/kubernetes/klog/pull/349) **Full Changelog**: kubernetes/klog@v2.80.0...v2.80.1 ### [`v2.80.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.80.0): Prepare klog release for Kubernetes v1.26 (Take 1) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.70.1...v2.80.0) #### What's Changed - OWNERS: add harshanarayana by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/342](https://togithub.com/kubernetes/klog/pull/342) - kvlistformat: fix the issue with display marshalled value for non string type by [@​harshanarayana](https://togithub.com/harshanarayana) in [https://github.com/kubernetes/klog/pull/344](https://togithub.com/kubernetes/klog/pull/344) - Bump version of golang to 1.19 and drop older versions by [@​dims](https://togithub.com/dims) in [https://github.com/kubernetes/klog/pull/345](https://togithub.com/kubernetes/klog/pull/345) **Full Changelog**: kubernetes/klog@v2.70.1...v2.80.0 ### [`v2.70.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.70.1): Prepare klog release for Kubernetes v1.25 (Take 2) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.70.0...v2.70.1) #### What's Changed - ktesting: handle test completion by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/337](https://togithub.com/kubernetes/klog/pull/337) - contextual logging: enable by default again by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/341](https://togithub.com/kubernetes/klog/pull/341) **Full Changelog**: kubernetes/klog@v2.70.0...v2.70.1 ### [`v2.70.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.70.0): Prepare klog release for Kubernetes v1.25 (Take 1) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.60.1...v2.70.0) #### What's Changed - logcheck: contextual logging + enhanced checks by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/297](https://togithub.com/kubernetes/klog/pull/297) - hack/tools: drop dependency on golangci-lint by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/313](https://togithub.com/kubernetes/klog/pull/313) - StopFlushDaemon: document flushing on shutdown by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/314](https://togithub.com/kubernetes/klog/pull/314) - logcheck: fix detection of invalid \* regexp in filter by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/315](https://togithub.com/kubernetes/klog/pull/315) - README.md: clarify -logtostderr by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/319](https://togithub.com/kubernetes/klog/pull/319) - Trim duplicates by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/324](https://togithub.com/kubernetes/klog/pull/324) - replace KObjs with KObjSlice by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/322](https://togithub.com/kubernetes/klog/pull/322) - support logr.Marshaler by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/325](https://togithub.com/kubernetes/klog/pull/325) - internal: remove unused TrimDuplicates by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/326](https://togithub.com/kubernetes/klog/pull/326) - save and restore state by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/320](https://togithub.com/kubernetes/klog/pull/320) - GitHub: use apidiff with more recent Go by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/329](https://togithub.com/kubernetes/klog/pull/329) - remove hack/tools by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/330](https://togithub.com/kubernetes/klog/pull/330) - GIT-331: fix shadowing key from the kv pair by [@​harshanarayana](https://togithub.com/harshanarayana) in [https://github.com/kubernetes/klog/pull/332](https://togithub.com/kubernetes/klog/pull/332) - klog.Fatal backtrace revert by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/328](https://togithub.com/kubernetes/klog/pull/328) - ktesting: capture log data in memory by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/327](https://togithub.com/kubernetes/klog/pull/327) - GIT-275: add tests for int and struct keys by [@​harshanarayana](https://togithub.com/harshanarayana) in [https://github.com/kubernetes/klog/pull/333](https://togithub.com/kubernetes/klog/pull/333) #### New Contributors - [@​harshanarayana](https://togithub.com/harshanarayana) made their first contribution in [https://github.com/kubernetes/klog/pull/332](https://togithub.com/kubernetes/klog/pull/332) **Full Changelog**: kubernetes/klog@v2.60.1...v2.70.0 ### [`v2.60.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.60.1): Prepare klog release for Kubernetes v1.24 (Take 6) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.60.0...v2.60.1) #### What's Changed - Cleanup OWNERS file by [@​serathius](https://togithub.com/serathius) in [https://github.com/kubernetes/klog/pull/309](https://togithub.com/kubernetes/klog/pull/309) - dependencies: avoid k8s.io/utils, fork clock code instead by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/310](https://togithub.com/kubernetes/klog/pull/310) - promote contextual logging APIs to stable by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/311](https://togithub.com/kubernetes/klog/pull/311) **Full Changelog**: kubernetes/klog@v2.60.0...v2.60.1 ### [`v2.60.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.60.0): Prepare klog release for Kubernetes v1.24 (Take 5) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.50.2...v2.60.0) #### What's Changed - SetContextualLogger: remove unintentionally merged API call by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/308](https://togithub.com/kubernetes/klog/pull/308) **Full Changelog**: kubernetes/klog@v2.50.2...v2.60.0 ### [`v2.50.2`](https://togithub.com/kubernetes/klog/compare/v2.50.1...v2.50.2) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.50.1...v2.50.2) ### [`v2.50.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.50.1): Prepare klog release for Kubernetes v1.24 (Take 4) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.50.0...v2.50.1) #### What's Changed - SetLoggerWithOptions: support flushing by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/306](https://togithub.com/kubernetes/klog/pull/306) **Full Changelog**: kubernetes/klog@v2.50.0...v2.50.1 ### [`v2.50.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.50.0): Prepare klog release for Kubernetes v1.24 (Take 3) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.40.1...v2.50.0) #### What's Changed - Panic on empty info with custom logr by [@​jklaw90](https://togithub.com/jklaw90) in [https://github.com/kubernetes/klog/pull/283](https://togithub.com/kubernetes/klog/pull/283) - Add missing Depth logging functions. by [@​s3rj1k](https://togithub.com/s3rj1k) in [https://github.com/kubernetes/klog/pull/280](https://togithub.com/kubernetes/klog/pull/280) - fix typo in klog.go by [@​cocaccola](https://togithub.com/cocaccola) in [https://github.com/kubernetes/klog/pull/270](https://togithub.com/kubernetes/klog/pull/270) - Update README.md by [@​noaabarki](https://togithub.com/noaabarki) in [https://github.com/kubernetes/klog/pull/281](https://togithub.com/kubernetes/klog/pull/281) - log filter: ignored by V, used during log call by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/290](https://togithub.com/kubernetes/klog/pull/290) - SetLogger/ClearLogger/SetLogFilter cleanup by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/289](https://togithub.com/kubernetes/klog/pull/289) - fixes for PR [#​280](https://togithub.com/kubernetes/klog/issues/280), refactoring, textlogger, unit test by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/287](https://togithub.com/kubernetes/klog/pull/287) - klogr verbosity by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/295](https://togithub.com/kubernetes/klog/pull/295) - test: fix Go version matrix by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/298](https://togithub.com/kubernetes/klog/pull/298) - handle panics in MarshalLog, Error, String by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/299](https://togithub.com/kubernetes/klog/pull/299) - Fix goroutine leak: make flushDaemon stoppable by [@​katexochen](https://togithub.com/katexochen) in [https://github.com/kubernetes/klog/pull/293](https://togithub.com/kubernetes/klog/pull/293) - structured logging: replacing Fatal/Exit/etc. without loss of flushing by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/303](https://togithub.com/kubernetes/klog/pull/303) - contextual logging by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/296](https://togithub.com/kubernetes/klog/pull/296) - remove side effects of tests by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/305](https://togithub.com/kubernetes/klog/pull/305) - tests: stop testing with Go 1.14 by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/304](https://togithub.com/kubernetes/klog/pull/304) #### New Contributors - [@​jklaw90](https://togithub.com/jklaw90) made their first contribution in [https://github.com/kubernetes/klog/pull/283](https://togithub.com/kubernetes/klog/pull/283) - [@​s3rj1k](https://togithub.com/s3rj1k) made their first contribution in [https://github.com/kubernetes/klog/pull/280](https://togithub.com/kubernetes/klog/pull/280) - [@​cocaccola](https://togithub.com/cocaccola) made their first contribution in [https://github.com/kubernetes/klog/pull/270](https://togithub.com/kubernetes/klog/pull/270) - [@​noaabarki](https://togithub.com/noaabarki) made their first contribution in [https://github.com/kubernetes/klog/pull/281](https://togithub.com/kubernetes/klog/pull/281) - [@​katexochen](https://togithub.com/katexochen) made their first contribution in [https://github.com/kubernetes/klog/pull/293](https://togithub.com/kubernetes/klog/pull/293) **Full Changelog**: kubernetes/klog@v2.40.1...v2.50.0 ### [`v2.40.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.40.1): Prepare klog release for Kubernetes v1.24 (Take 2) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.40.0...v2.40.1) #### What's Changed - Using OS targeted go files to separate out the username logic. by [@​phillipsj](https://togithub.com/phillipsj) in [https://github.com/kubernetes/klog/pull/271](https://togithub.com/kubernetes/klog/pull/271) - Recover from nil pointers when logging by [@​dims](https://togithub.com/dims) in [https://github.com/kubernetes/klog/pull/279](https://togithub.com/kubernetes/klog/pull/279) #### New Contributors - [@​phillipsj](https://togithub.com/phillipsj) made their first contribution in [https://github.com/kubernetes/klog/pull/271](https://togithub.com/kubernetes/klog/pull/271) **Full Changelog**: kubernetes/klog@v2.40.0...v2.40.1 ### [`v2.40.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.40.0): Prepare klog release for Kubernetes v1.24 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.30.0...v2.40.0) #### What's Changed - structured logging: support values with line breaks by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/273](https://togithub.com/kubernetes/klog/pull/273) - Fix klog lock release on panic error by [@​astraw99](https://togithub.com/astraw99) in [https://github.com/kubernetes/klog/pull/272](https://togithub.com/kubernetes/klog/pull/272) - add format test for KObjs by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/276](https://togithub.com/kubernetes/klog/pull/276) - add Verbose.InfoSDepth by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/277](https://togithub.com/kubernetes/klog/pull/277) #### Known Issues - [https://github.com/kubernetes/klog/issues/278](https://togithub.com/kubernetes/klog/issues/278) #### New Contributors - [@​astraw99](https://togithub.com/astraw99) made their first contribution in [https://github.com/kubernetes/klog/pull/272](https://togithub.com/kubernetes/klog/pull/272) **Full Changelog**: kubernetes/klog@v2.30.0...v2.40.0 ### [`v2.30.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.30.0): Prepare klog release for Kubernetes v1.23 (take 2) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.20.0...v2.30.0) #### What's Changed - Fix logcheck exit function by [@​luyou86](https://togithub.com/luyou86) in [https://github.com/kubernetes/klog/pull/265](https://togithub.com/kubernetes/klog/pull/265) - custom marshaler for ObjectRef by [@​pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/266](https://togithub.com/kubernetes/klog/pull/266) #### New Contributors - [@​luyou86](https://togithub.com/luyou86) made their first contribution in [https://github.com/kubernetes/klog/pull/265](https://togithub.com/kubernetes/klog/pull/265) **Full Changelog**: kubernetes/klog@v2.20.0...v2.30.0 ### [`v2.20.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.20.0): Prepare klog release for Kubernetes v1.23 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.10.0...v2.20.0) Changes are here : kubernetes/klog@v2.10.0...v2.20.0 since we moved to logr v1.0.0, there are incompatible changes: - klogger.Enabled: changed from func() bool to func(int) bool - klogger.Info: changed from func(string, ...interface{}) to func(int, string, ...interface{}) - klogger.V: removed - klogger.WithCallDepth: changed from func(int) github.com/go-logr/logr.Logger to func(int) github.com/go-logr/logr.LogSink - klogger.WithName: changed from func(string) github.com/go-logr/logr.Logger to func(string) github.com/go-logr/logr.LogSink - klogger.WithValues: changed from func(...interface{}) github.com/go-logr/logr.Logger to func(...interface{}) github.com/go-logr/logr.LogSink [`83653a6`](https://togithub.com/kubernetes/klog/commit/83653a6deebf) Update to newest versions of golang 1.17.x [`d648c2e`](https://togithub.com/kubernetes/klog/commit/d648c2e42d30) fix file-based filtering symbolization [`8ee3d65`](https://togithub.com/kubernetes/klog/commit/8ee3d652c96b) export ClearLogger [`4171f3c`](https://togithub.com/kubernetes/klog/commit/4171f3c1be1b) Switching to logr tag v1.0.0 [`9ab3c2b`](https://togithub.com/kubernetes/klog/commit/9ab3c2b56cb2) add serathius as approvers of klog ### [`v2.10.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.10.0): One more change to support 1.22 release [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.9.0...v2.10.0) Changes are here : kubernetes/klog@v2.9.0...v2.10.0 new function added: func KObjs(arg interface{}) []ObjectRef ### [`v2.9.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.9.0): Prepare release for Kubernetes v1.22 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.8.0...v2.9.0) Changes are here : kubernetes/klog@v2.8.0...v2.9.0 [`6a9ef3f`](https://togithub.com/kubernetes/klog/commit/6a9ef3fa9a15) fix typo [`59f7cb5`](https://togithub.com/kubernetes/klog/commit/59f7cb505f58) fix byte array display in InfoS and ErrorS [`cf22f1e`](https://togithub.com/kubernetes/klog/commit/cf22f1e79721) Call logr with call depth [`e95c7e3`](https://togithub.com/kubernetes/klog/commit/e95c7e303755) make SetLogger thread-safe [`2728fe1`](https://togithub.com/kubernetes/klog/commit/2728fe192acc) check usage of format specifier in structured log func [`a18bc97`](https://togithub.com/kubernetes/klog/commit/a18bc976a212) Fix by pr suggestions [`4e4135c`](https://togithub.com/kubernetes/klog/commit/4e4135c3dd8a) Add check for InfoS & ErrorS parameters ### [`v2.8.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.8.0): Bug fixes for structured logging for Kubernetes v1.21 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.7.0...v2.8.0) ### [`v2.7.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.7.0): Miscellaneous fixes for structured logging for Kubernetes v1.21 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.6.0...v2.7.0) Changes are here : kubernetes/klog@v2.6.0...v2.7.0 ### [`v2.6.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.6.0): Adding a linter for Kubernetes v1.21 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.5.0...v2.6.0) Changes are here : kubernetes/klog@v2.5.0...v2.6.0 please see https://github.com/kubernetes/klog/tree/master/hack/tools/logcheck ### [`v2.5.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.5.0): Prepare release for Kubernetes v1.21 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.4.0...v2.5.0) Changes are here : kubernetes/klog@v2.4.0...v2.5.0 klog.go has new API: +func ErrorSDepth(depth int, err error, msg string, keysAndValues ...interface{}) { +func InfoSDepth(depth int, msg string, keysAndValues ...interface{}) { klogr/klogr.go has new API: func (l klogger) WithCallDepth(depth int) logr.Logger { func NewWithOptions(options ...Option) logr.Logger { func WithFormat(format Format) Option { ### [`v2.4.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.4.0): Prepare release for Kubernetes v1.20 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.3.0...v2.4.0) Changes are here : kubernetes/klog@v2.3.0...v2.4.0 ### [`v2.3.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.3.0): Fix Typo-ed Method Error -> ErrorS [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.2.0...v2.3.0) Changes are here : kubernetes/klog@v2.2.0...v2.3.0 ### [`v2.2.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.2.0): Dependency update and bugfix for InfoS [Compare Source](https://togithub.com/kubernetes/klog/compare/2.1.0...v2.2.0) - [`2e691eb`](https://togithub.com/kubernetes/klog/commit/2e691eb3eeb3) Fix missing fields in verbose InfoS - [`966c986`](https://togithub.com/kubernetes/klog/commit/966c98681ca0) feat use go-logr v0.2.0 Changes are here : kubernetes/klog@v2.1.0...v2.2.0 ### [`v2.1.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.1.0): Better support for Structured Logging [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.0.0...2.1.0) We are now enforcing API compatibility, added Windows based tests, and have tweaked the structured logging methods after some real world experience updating kubernetes main repo. - [`bbd9ca1`](https://togithub.com/kubernetes/klog/commit/bbd9ca1) Add tests for error in InfoS - [`1ccc0e1`](https://togithub.com/kubernetes/klog/commit/1ccc0e1) fix imported bug time encode format form kvlistFormat - [`dd4d1a6`](https://togithub.com/kubernetes/klog/commit/dd4d1a6) fix typo in README.md - [`49123d4`](https://togithub.com/kubernetes/klog/commit/49123d4) ErrorS(nil, ...) should call loggr.Error(nil, ...) - [`5b199cd`](https://togithub.com/kubernetes/klog/commit/5b199cd) Fix documentation for V(level) - [`d1eb30f`](https://togithub.com/kubernetes/klog/commit/d1eb30f) Add apidiff script to check go signature changes - [`dc505bf`](https://togithub.com/kubernetes/klog/commit/dc505bf) Switch slack channel to #klog - [`a47ebb9`](https://togithub.com/kubernetes/klog/commit/a47ebb9) Add example for co-existence of klog v1 and v2 - [`134f148`](https://togithub.com/kubernetes/klog/commit/134f148) logName(): lazily lookup userName instead of on init() - [`db06a1b`](https://togithub.com/kubernetes/klog/commit/db06a1b) fix serialization of special html chars - [`5727d2a`](https://togithub.com/kubernetes/klog/commit/5727d2a) Fix Windows integration tests - [`edbc1d3`](https://togithub.com/kubernetes/klog/commit/edbc1d3) test(\*): TestRollover failed randomly on Windows - [`6f99060`](https://togithub.com/kubernetes/klog/commit/6f99060) Add LogToStderr, a programatic way to log exclusively to stderr or not ### [`v2.0.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.0.0): Release to support Kubernetes v1.19 [Compare Source](https://togithub.com/kubernetes/klog/compare/v1.0.0...v2.0.0) Beware of type change: `Verbose` New Methods: - `SetLogger` (override logger to set a custom implementation) - `InfoS` (structured logging) - `ErrorS` (structured logging) Changes are here : kubernetes/klog@v2.0.0-rc.1...v2.0.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44Ny4yIiwidXBkYXRlZEluVmVyIjoiMzcuODcuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]> Co-authored-by: Yang Song <[email protected]> Co-authored-by: Tyler Helmuth <[email protected]>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [k8s.io/klog](https://togithub.com/kubernetes/klog) | require | major | `v1.0.0` -> `v2.110.1` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>kubernetes/klog (k8s.io/klog)</summary> ### [`v2.110.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.110.1): Prepare klog release for Kubernetes v1.29 (Take 1) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.100.1...v2.110.1) #### What's Changed - fix: SetLogger via klog.SetLogger will output an unexpected newline by [@&open-telemetry#8203;aimuz](https://togithub.com/aimuz) in [https://github.com/kubernetes/klog/pull/378](https://togithub.com/kubernetes/klog/pull/378) - resolve comments warning by [@&open-telemetry#8203;lowang-bh](https://togithub.com/lowang-bh) in [https://github.com/kubernetes/klog/pull/379](https://togithub.com/kubernetes/klog/pull/379) - stderrthreshold: fix flag comment by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/376](https://togithub.com/kubernetes/klog/pull/376) - enable "go vet" checks for parameters by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/390](https://togithub.com/kubernetes/klog/pull/390) - promote experimental code to stable by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/392](https://togithub.com/kubernetes/klog/pull/392) - golangci-lint action by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/380](https://togithub.com/kubernetes/klog/pull/380) - output: handle WithName like zapr does by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/391](https://togithub.com/kubernetes/klog/pull/391) - slog support + logr 1.3.0 update by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/384](https://togithub.com/kubernetes/klog/pull/384) #### New Contributors - [@&open-telemetry#8203;aimuz](https://togithub.com/aimuz) made their first contribution in [https://github.com/kubernetes/klog/pull/378](https://togithub.com/kubernetes/klog/pull/378) - [@&open-telemetry#8203;lowang-bh](https://togithub.com/lowang-bh) made their first contribution in [https://github.com/kubernetes/klog/pull/379](https://togithub.com/kubernetes/klog/pull/379) **Full Changelog**: kubernetes/klog@v2.100.1...v2.110.1 ### [`v2.100.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.100.1): Prepare klog release for Kubernetes v1.28 (Take 1) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.90.1...v2.100.1) #### What's Changed - expose logBridge via NewStandardLog() by [@&open-telemetry#8203;mikedanese](https://togithub.com/mikedanese) in [https://github.com/kubernetes/klog/pull/369](https://togithub.com/kubernetes/klog/pull/369) - add Format wrapper by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/374](https://togithub.com/kubernetes/klog/pull/374) - JSON as fallback encoding by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/375](https://togithub.com/kubernetes/klog/pull/375) #### New Contributors - [@&open-telemetry#8203;mikedanese](https://togithub.com/mikedanese) made their first contribution in [https://github.com/kubernetes/klog/pull/369](https://togithub.com/kubernetes/klog/pull/369) **Full Changelog**: kubernetes/klog@v2.90.1...v2.100.1 ### [`v2.90.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.90.1): Prepare klog release for Kubernetes v1.27 (Take 2) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.90.0...v2.90.1) #### What's Changed - buffer: restore dropping of too large buffers by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/366](https://togithub.com/kubernetes/klog/pull/366) - ktesting improvements by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/365](https://togithub.com/kubernetes/klog/pull/365) - ktesting + textlogger config api by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/368](https://togithub.com/kubernetes/klog/pull/368) - textlogger write through by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/363](https://togithub.com/kubernetes/klog/pull/363) **Full Changelog**: kubernetes/klog@v2.90.0...v2.90.1 ### [`v2.90.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.90.0): Prepare klog release for Kubernetes v1.27 (Take 1) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.80.1...v2.90.0) #### What's Changed - klog: benchmark the overhead when logging is off by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/355](https://togithub.com/kubernetes/klog/pull/355) - improve textlogger by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/362](https://togithub.com/kubernetes/klog/pull/362) **Full Changelog**: kubernetes/klog@v2.80.1...v2.90.0 ##### There are some API differences from previous version k8s.io/klog/v2/klogr contains incompatible changes: - klogger.Enabled: removed - klogger.Error: removed - klogger.Info: removed k8s.io/klog/v2/test contains incompatible changes: - InitKlog: changed from func() to func(testing.TB) *flag.FlagSet ### [`v2.80.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.80.1): Prepare klog release for Kubernetes v1.26 (Take 2) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.80.0...v2.80.1) #### What's Changed - InitFlags concurrency fix by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/349](https://togithub.com/kubernetes/klog/pull/349) **Full Changelog**: kubernetes/klog@v2.80.0...v2.80.1 ### [`v2.80.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.80.0): Prepare klog release for Kubernetes v1.26 (Take 1) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.70.1...v2.80.0) #### What's Changed - OWNERS: add harshanarayana by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/342](https://togithub.com/kubernetes/klog/pull/342) - kvlistformat: fix the issue with display marshalled value for non string type by [@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) in [https://github.com/kubernetes/klog/pull/344](https://togithub.com/kubernetes/klog/pull/344) - Bump version of golang to 1.19 and drop older versions by [@&open-telemetry#8203;dims](https://togithub.com/dims) in [https://github.com/kubernetes/klog/pull/345](https://togithub.com/kubernetes/klog/pull/345) **Full Changelog**: kubernetes/klog@v2.70.1...v2.80.0 ### [`v2.70.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.70.1): Prepare klog release for Kubernetes v1.25 (Take 2) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.70.0...v2.70.1) #### What's Changed - ktesting: handle test completion by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/337](https://togithub.com/kubernetes/klog/pull/337) - contextual logging: enable by default again by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/341](https://togithub.com/kubernetes/klog/pull/341) **Full Changelog**: kubernetes/klog@v2.70.0...v2.70.1 ### [`v2.70.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.70.0): Prepare klog release for Kubernetes v1.25 (Take 1) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.60.1...v2.70.0) #### What's Changed - logcheck: contextual logging + enhanced checks by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/297](https://togithub.com/kubernetes/klog/pull/297) - hack/tools: drop dependency on golangci-lint by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/313](https://togithub.com/kubernetes/klog/pull/313) - StopFlushDaemon: document flushing on shutdown by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/314](https://togithub.com/kubernetes/klog/pull/314) - logcheck: fix detection of invalid \* regexp in filter by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/315](https://togithub.com/kubernetes/klog/pull/315) - README.md: clarify -logtostderr by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/319](https://togithub.com/kubernetes/klog/pull/319) - Trim duplicates by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/324](https://togithub.com/kubernetes/klog/pull/324) - replace KObjs with KObjSlice by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/322](https://togithub.com/kubernetes/klog/pull/322) - support logr.Marshaler by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/325](https://togithub.com/kubernetes/klog/pull/325) - internal: remove unused TrimDuplicates by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/326](https://togithub.com/kubernetes/klog/pull/326) - save and restore state by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/320](https://togithub.com/kubernetes/klog/pull/320) - GitHub: use apidiff with more recent Go by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/329](https://togithub.com/kubernetes/klog/pull/329) - remove hack/tools by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/330](https://togithub.com/kubernetes/klog/pull/330) - GIT-331: fix shadowing key from the kv pair by [@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) in [https://github.com/kubernetes/klog/pull/332](https://togithub.com/kubernetes/klog/pull/332) - klog.Fatal backtrace revert by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/328](https://togithub.com/kubernetes/klog/pull/328) - ktesting: capture log data in memory by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/327](https://togithub.com/kubernetes/klog/pull/327) - GIT-275: add tests for int and struct keys by [@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) in [https://github.com/kubernetes/klog/pull/333](https://togithub.com/kubernetes/klog/pull/333) #### New Contributors - [@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) made their first contribution in [https://github.com/kubernetes/klog/pull/332](https://togithub.com/kubernetes/klog/pull/332) **Full Changelog**: kubernetes/klog@v2.60.1...v2.70.0 ### [`v2.60.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.60.1): Prepare klog release for Kubernetes v1.24 (Take 6) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.60.0...v2.60.1) #### What's Changed - Cleanup OWNERS file by [@&open-telemetry#8203;serathius](https://togithub.com/serathius) in [https://github.com/kubernetes/klog/pull/309](https://togithub.com/kubernetes/klog/pull/309) - dependencies: avoid k8s.io/utils, fork clock code instead by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/310](https://togithub.com/kubernetes/klog/pull/310) - promote contextual logging APIs to stable by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/311](https://togithub.com/kubernetes/klog/pull/311) **Full Changelog**: kubernetes/klog@v2.60.0...v2.60.1 ### [`v2.60.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.60.0): Prepare klog release for Kubernetes v1.24 (Take 5) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.50.2...v2.60.0) #### What's Changed - SetContextualLogger: remove unintentionally merged API call by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/308](https://togithub.com/kubernetes/klog/pull/308) **Full Changelog**: kubernetes/klog@v2.50.2...v2.60.0 ### [`v2.50.2`](https://togithub.com/kubernetes/klog/compare/v2.50.1...v2.50.2) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.50.1...v2.50.2) ### [`v2.50.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.50.1): Prepare klog release for Kubernetes v1.24 (Take 4) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.50.0...v2.50.1) #### What's Changed - SetLoggerWithOptions: support flushing by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/306](https://togithub.com/kubernetes/klog/pull/306) **Full Changelog**: kubernetes/klog@v2.50.0...v2.50.1 ### [`v2.50.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.50.0): Prepare klog release for Kubernetes v1.24 (Take 3) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.40.1...v2.50.0) #### What's Changed - Panic on empty info with custom logr by [@&open-telemetry#8203;jklaw90](https://togithub.com/jklaw90) in [https://github.com/kubernetes/klog/pull/283](https://togithub.com/kubernetes/klog/pull/283) - Add missing Depth logging functions. by [@&open-telemetry#8203;s3rj1k](https://togithub.com/s3rj1k) in [https://github.com/kubernetes/klog/pull/280](https://togithub.com/kubernetes/klog/pull/280) - fix typo in klog.go by [@&open-telemetry#8203;cocaccola](https://togithub.com/cocaccola) in [https://github.com/kubernetes/klog/pull/270](https://togithub.com/kubernetes/klog/pull/270) - Update README.md by [@&open-telemetry#8203;noaabarki](https://togithub.com/noaabarki) in [https://github.com/kubernetes/klog/pull/281](https://togithub.com/kubernetes/klog/pull/281) - log filter: ignored by V, used during log call by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/290](https://togithub.com/kubernetes/klog/pull/290) - SetLogger/ClearLogger/SetLogFilter cleanup by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/289](https://togithub.com/kubernetes/klog/pull/289) - fixes for PR [#&open-telemetry#8203;280](https://togithub.com/kubernetes/klog/issues/280), refactoring, textlogger, unit test by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/287](https://togithub.com/kubernetes/klog/pull/287) - klogr verbosity by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/295](https://togithub.com/kubernetes/klog/pull/295) - test: fix Go version matrix by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/298](https://togithub.com/kubernetes/klog/pull/298) - handle panics in MarshalLog, Error, String by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/299](https://togithub.com/kubernetes/klog/pull/299) - Fix goroutine leak: make flushDaemon stoppable by [@&open-telemetry#8203;katexochen](https://togithub.com/katexochen) in [https://github.com/kubernetes/klog/pull/293](https://togithub.com/kubernetes/klog/pull/293) - structured logging: replacing Fatal/Exit/etc. without loss of flushing by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/303](https://togithub.com/kubernetes/klog/pull/303) - contextual logging by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/296](https://togithub.com/kubernetes/klog/pull/296) - remove side effects of tests by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/305](https://togithub.com/kubernetes/klog/pull/305) - tests: stop testing with Go 1.14 by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/304](https://togithub.com/kubernetes/klog/pull/304) #### New Contributors - [@&open-telemetry#8203;jklaw90](https://togithub.com/jklaw90) made their first contribution in [https://github.com/kubernetes/klog/pull/283](https://togithub.com/kubernetes/klog/pull/283) - [@&open-telemetry#8203;s3rj1k](https://togithub.com/s3rj1k) made their first contribution in [https://github.com/kubernetes/klog/pull/280](https://togithub.com/kubernetes/klog/pull/280) - [@&open-telemetry#8203;cocaccola](https://togithub.com/cocaccola) made their first contribution in [https://github.com/kubernetes/klog/pull/270](https://togithub.com/kubernetes/klog/pull/270) - [@&open-telemetry#8203;noaabarki](https://togithub.com/noaabarki) made their first contribution in [https://github.com/kubernetes/klog/pull/281](https://togithub.com/kubernetes/klog/pull/281) - [@&open-telemetry#8203;katexochen](https://togithub.com/katexochen) made their first contribution in [https://github.com/kubernetes/klog/pull/293](https://togithub.com/kubernetes/klog/pull/293) **Full Changelog**: kubernetes/klog@v2.40.1...v2.50.0 ### [`v2.40.1`](https://togithub.com/kubernetes/klog/releases/tag/v2.40.1): Prepare klog release for Kubernetes v1.24 (Take 2) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.40.0...v2.40.1) #### What's Changed - Using OS targeted go files to separate out the username logic. by [@&open-telemetry#8203;phillipsj](https://togithub.com/phillipsj) in [https://github.com/kubernetes/klog/pull/271](https://togithub.com/kubernetes/klog/pull/271) - Recover from nil pointers when logging by [@&open-telemetry#8203;dims](https://togithub.com/dims) in [https://github.com/kubernetes/klog/pull/279](https://togithub.com/kubernetes/klog/pull/279) #### New Contributors - [@&open-telemetry#8203;phillipsj](https://togithub.com/phillipsj) made their first contribution in [https://github.com/kubernetes/klog/pull/271](https://togithub.com/kubernetes/klog/pull/271) **Full Changelog**: kubernetes/klog@v2.40.0...v2.40.1 ### [`v2.40.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.40.0): Prepare klog release for Kubernetes v1.24 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.30.0...v2.40.0) #### What's Changed - structured logging: support values with line breaks by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/273](https://togithub.com/kubernetes/klog/pull/273) - Fix klog lock release on panic error by [@&open-telemetry#8203;astraw99](https://togithub.com/astraw99) in [https://github.com/kubernetes/klog/pull/272](https://togithub.com/kubernetes/klog/pull/272) - add format test for KObjs by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/276](https://togithub.com/kubernetes/klog/pull/276) - add Verbose.InfoSDepth by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/277](https://togithub.com/kubernetes/klog/pull/277) #### Known Issues - [https://github.com/kubernetes/klog/issues/278](https://togithub.com/kubernetes/klog/issues/278) #### New Contributors - [@&open-telemetry#8203;astraw99](https://togithub.com/astraw99) made their first contribution in [https://github.com/kubernetes/klog/pull/272](https://togithub.com/kubernetes/klog/pull/272) **Full Changelog**: kubernetes/klog@v2.30.0...v2.40.0 ### [`v2.30.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.30.0): Prepare klog release for Kubernetes v1.23 (take 2) [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.20.0...v2.30.0) #### What's Changed - Fix logcheck exit function by [@&open-telemetry#8203;luyou86](https://togithub.com/luyou86) in [https://github.com/kubernetes/klog/pull/265](https://togithub.com/kubernetes/klog/pull/265) - custom marshaler for ObjectRef by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in [https://github.com/kubernetes/klog/pull/266](https://togithub.com/kubernetes/klog/pull/266) #### New Contributors - [@&open-telemetry#8203;luyou86](https://togithub.com/luyou86) made their first contribution in [https://github.com/kubernetes/klog/pull/265](https://togithub.com/kubernetes/klog/pull/265) **Full Changelog**: kubernetes/klog@v2.20.0...v2.30.0 ### [`v2.20.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.20.0): Prepare klog release for Kubernetes v1.23 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.10.0...v2.20.0) Changes are here : kubernetes/klog@v2.10.0...v2.20.0 since we moved to logr v1.0.0, there are incompatible changes: - klogger.Enabled: changed from func() bool to func(int) bool - klogger.Info: changed from func(string, ...interface{}) to func(int, string, ...interface{}) - klogger.V: removed - klogger.WithCallDepth: changed from func(int) github.com/go-logr/logr.Logger to func(int) github.com/go-logr/logr.LogSink - klogger.WithName: changed from func(string) github.com/go-logr/logr.Logger to func(string) github.com/go-logr/logr.LogSink - klogger.WithValues: changed from func(...interface{}) github.com/go-logr/logr.Logger to func(...interface{}) github.com/go-logr/logr.LogSink [`83653a6`](https://togithub.com/kubernetes/klog/commit/83653a6deebf) Update to newest versions of golang 1.17.x [`d648c2e`](https://togithub.com/kubernetes/klog/commit/d648c2e42d30) fix file-based filtering symbolization [`8ee3d65`](https://togithub.com/kubernetes/klog/commit/8ee3d652c96b) export ClearLogger [`4171f3c`](https://togithub.com/kubernetes/klog/commit/4171f3c1be1b) Switching to logr tag v1.0.0 [`9ab3c2b`](https://togithub.com/kubernetes/klog/commit/9ab3c2b56cb2) add serathius as approvers of klog ### [`v2.10.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.10.0): One more change to support 1.22 release [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.9.0...v2.10.0) Changes are here : kubernetes/klog@v2.9.0...v2.10.0 new function added: func KObjs(arg interface{}) []ObjectRef ### [`v2.9.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.9.0): Prepare release for Kubernetes v1.22 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.8.0...v2.9.0) Changes are here : kubernetes/klog@v2.8.0...v2.9.0 [`6a9ef3f`](https://togithub.com/kubernetes/klog/commit/6a9ef3fa9a15) fix typo [`59f7cb5`](https://togithub.com/kubernetes/klog/commit/59f7cb505f58) fix byte array display in InfoS and ErrorS [`cf22f1e`](https://togithub.com/kubernetes/klog/commit/cf22f1e79721) Call logr with call depth [`e95c7e3`](https://togithub.com/kubernetes/klog/commit/e95c7e303755) make SetLogger thread-safe [`2728fe1`](https://togithub.com/kubernetes/klog/commit/2728fe192acc) check usage of format specifier in structured log func [`a18bc97`](https://togithub.com/kubernetes/klog/commit/a18bc976a212) Fix by pr suggestions [`4e4135c`](https://togithub.com/kubernetes/klog/commit/4e4135c3dd8a) Add check for InfoS & ErrorS parameters ### [`v2.8.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.8.0): Bug fixes for structured logging for Kubernetes v1.21 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.7.0...v2.8.0) ### [`v2.7.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.7.0): Miscellaneous fixes for structured logging for Kubernetes v1.21 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.6.0...v2.7.0) Changes are here : kubernetes/klog@v2.6.0...v2.7.0 ### [`v2.6.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.6.0): Adding a linter for Kubernetes v1.21 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.5.0...v2.6.0) Changes are here : kubernetes/klog@v2.5.0...v2.6.0 please see https://github.com/kubernetes/klog/tree/master/hack/tools/logcheck ### [`v2.5.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.5.0): Prepare release for Kubernetes v1.21 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.4.0...v2.5.0) Changes are here : kubernetes/klog@v2.4.0...v2.5.0 klog.go has new API: +func ErrorSDepth(depth int, err error, msg string, keysAndValues ...interface{}) { +func InfoSDepth(depth int, msg string, keysAndValues ...interface{}) { klogr/klogr.go has new API: func (l klogger) WithCallDepth(depth int) logr.Logger { func NewWithOptions(options ...Option) logr.Logger { func WithFormat(format Format) Option { ### [`v2.4.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.4.0): Prepare release for Kubernetes v1.20 [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.3.0...v2.4.0) Changes are here : kubernetes/klog@v2.3.0...v2.4.0 ### [`v2.3.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.3.0): Fix Typo-ed Method Error -> ErrorS [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.2.0...v2.3.0) Changes are here : kubernetes/klog@v2.2.0...v2.3.0 ### [`v2.2.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.2.0): Dependency update and bugfix for InfoS [Compare Source](https://togithub.com/kubernetes/klog/compare/2.1.0...v2.2.0) - [`2e691eb`](https://togithub.com/kubernetes/klog/commit/2e691eb3eeb3) Fix missing fields in verbose InfoS - [`966c986`](https://togithub.com/kubernetes/klog/commit/966c98681ca0) feat use go-logr v0.2.0 Changes are here : kubernetes/klog@v2.1.0...v2.2.0 ### [`v2.1.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.1.0): Better support for Structured Logging [Compare Source](https://togithub.com/kubernetes/klog/compare/v2.0.0...2.1.0) We are now enforcing API compatibility, added Windows based tests, and have tweaked the structured logging methods after some real world experience updating kubernetes main repo. - [`bbd9ca1`](https://togithub.com/kubernetes/klog/commit/bbd9ca1) Add tests for error in InfoS - [`1ccc0e1`](https://togithub.com/kubernetes/klog/commit/1ccc0e1) fix imported bug time encode format form kvlistFormat - [`dd4d1a6`](https://togithub.com/kubernetes/klog/commit/dd4d1a6) fix typo in README.md - [`49123d4`](https://togithub.com/kubernetes/klog/commit/49123d4) ErrorS(nil, ...) should call loggr.Error(nil, ...) - [`5b199cd`](https://togithub.com/kubernetes/klog/commit/5b199cd) Fix documentation for V(level) - [`d1eb30f`](https://togithub.com/kubernetes/klog/commit/d1eb30f) Add apidiff script to check go signature changes - [`dc505bf`](https://togithub.com/kubernetes/klog/commit/dc505bf) Switch slack channel to #klog - [`a47ebb9`](https://togithub.com/kubernetes/klog/commit/a47ebb9) Add example for co-existence of klog v1 and v2 - [`134f148`](https://togithub.com/kubernetes/klog/commit/134f148) logName(): lazily lookup userName instead of on init() - [`db06a1b`](https://togithub.com/kubernetes/klog/commit/db06a1b) fix serialization of special html chars - [`5727d2a`](https://togithub.com/kubernetes/klog/commit/5727d2a) Fix Windows integration tests - [`edbc1d3`](https://togithub.com/kubernetes/klog/commit/edbc1d3) test(\*): TestRollover failed randomly on Windows - [`6f99060`](https://togithub.com/kubernetes/klog/commit/6f99060) Add LogToStderr, a programatic way to log exclusively to stderr or not ### [`v2.0.0`](https://togithub.com/kubernetes/klog/releases/tag/v2.0.0): Release to support Kubernetes v1.19 [Compare Source](https://togithub.com/kubernetes/klog/compare/v1.0.0...v2.0.0) Beware of type change: `Verbose` New Methods: - `SetLogger` (override logger to set a custom implementation) - `InfoS` (structured logging) - `ErrorS` (structured logging) Changes are here : kubernetes/klog@v2.0.0-rc.1...v2.0.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44Ny4yIiwidXBkYXRlZEluVmVyIjoiMzcuODcuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]> Co-authored-by: Yang Song <[email protected]> Co-authored-by: Tyler Helmuth <[email protected]>
What this PR does / why we need it:
Libraries might start to use the new slog/slog API. Support is needed in a logging backend like klog.
When compiled with Go >= 1.21, special support for log/slog gets enabled
automatically:
regardless of where those come from.
support usage as a backend for the slog API, via slogr.NewSlogHandler,
with builtin support for handling a slog.Record. However, -vmodule
does not work when called like that because stack unwinding during
the Enabled check finds the wrong source code.
The klogr package doesn't get updated. It shouldn't be used anymore. To make
that clearer, it gets marked as "deprecated".
Examples demonstrate the resulting output. That output has to be exactly
the same when used as test, so pid and time get set to fixed values.
Special notes for your reviewer:
Key/value pairs still to be given as two values per pair. Using a
slog.Attr
could be supported (would imply changing logcheck!), but would not be very portable.Release note: