Skip to content
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

fixes for PR #280, refactoring, textlogger, unit test #287

Merged
merged 12 commits into from Feb 14, 2022

Conversation

pohly
Copy link

@pohly pohly commented Feb 7, 2022

What this PR does / why we need it:

#280 turned println and printf into
wrapper functions, but the underlying *Depth functions kept passing the same 0
depth to l.output and thus any logr.Logger. That off-by-one error broke JSON tests in Kubernetes, luckily well before any of the PR went into a release.

There was also some confusion about println vs print.

This shows that we need better unit test coverage, in particular for output in combination with SetLogger. We cannot depend on some external logger for that. This PR solves that by splitting out all the relevant code in klog into internal helper packages and then implementing a Logger that produces output the same way as klog.

That makes it possible to write a test that can be applied to both klog, klog+logger, and logger without klog. The latter is something that may become relevant for contextual logging in Kubernetes: if we ever decided to stop logging through klog, then such a stand-alone logger can provide the implementation for logging in text format.

The unit test is exposed with an API that allows out-of-tree Loggers to reuse the test cases. This has been tested with the JSON logger in Kubernetes already and will be used there once this PR is in a release.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):

Fixes https://github.com/kubernetes/klog/pull/280/files#r800965182
Fixes https://github.com/kubernetes/klog/pull/280/files#r803909527
Fixes: #288

Release note:

NONE

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Feb 7, 2022
@pohly
Copy link
Author

pohly commented Feb 8, 2022

/hold

Let's wait until we have a unit test.

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 8, 2022
@k8s-ci-robot k8s-ci-robot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Feb 10, 2022
@pohly
Copy link
Author

pohly commented Feb 10, 2022

This refactoring is also relevant for the testing logger described in the contextual logging KEP. I have additional commits ready for klog which add a "ktesting" package with the implementation of that logger.

@pohly pohly changed the title fix for off-by-one stack unwinding fixes for PR #280, refactoring, textlogger, unit test Feb 10, 2022
@pohly
Copy link
Author

pohly commented Feb 10, 2022

/hold

One thing that we need to clarify: some of the new API should be considered subject to change ((like the entire "test" package) or alpha (text logger). How do we communicate that so that if we need to break their API, we are not bound by the v2 API stability guarantee?

@dims
Copy link
Member

dims commented Feb 10, 2022

/assign @thockin @serathius

@pohly
Copy link
Author

pohly commented Feb 10, 2022

Additional commits for contextual logging are based on this PR and currently can be found in https://github.com/pohly/klog/commits/contextual-logging

@thockin
Copy link
Member

thockin commented Feb 10, 2022

Hey all,
I don't see anything egregious in here, but I don't know this code well enough to hold a strong opinion. :)

@pohly
Copy link
Author

pohly commented Feb 11, 2022

This refactoring has no performance impact:

name                   old time/op  new time/op  delta
Header-36              1.63µs ± 8%  1.64µs ± 5%   ~     (p=1.000 n=5+5)
HeaderWithDir-36       1.65µs ± 7%  1.67µs ± 3%   ~     (p=0.548 n=5+5)
V-36                   2.44ns ± 3%  2.42ns ± 2%   ~     (p=0.310 n=5+5)
KRef-36                0.50ns ± 0%  0.50ns ± 0%   ~     (p=0.413 n=5+4)
KObj-36                6.59ns ± 0%  6.59ns ± 0%   ~     (p=0.556 n=5+4)
Logs-36                6.73µs ± 4%  6.87µs ± 9%   ~     (p=0.690 n=5+5)
WithoutDeferUnLock-36  12.6ns ± 3%  12.6ns ± 1%   ~     (p=0.444 n=5+5)
WithDeferUnLock-36     13.6ns ± 1%  13.6ns ± 1%   ~     (p=0.722 n=5+5)

I had tried to use the internal/verbosity package also in klog.go, but that had made V() slower, so I left the original code in place unmodified.

@serathius
Copy link

I'm also not super familiar with the code, still nothing was too scary to catch my eye. Really like the tests, great job!

Maybe one note, it's cleaner to put the commit that adds tests at the first one instead ot the last. It's puts some additional work to update them, however it's worth to give reviewers a trace of what is changing in each commit.

@pohly pohly force-pushed the logger-call-depth-fix branch 2 times, most recently from 71509b1 to d544435 Compare February 11, 2022 10:40
@pohly
Copy link
Author

pohly commented Feb 11, 2022

Maybe one note, it's cleaner to put the commit that adds tests at the first one instead ot the last.

I see what you mean. I've rearranged the commits as you suggested, with modified tests to make "go test" pass for each commit.

One exception is testing SetLogger with the text logger: that has to be added after fixing the stack unwinding bug because the tests can't be modified to pass while that bug is present.

It's puts some additional work to update them,

Wasn't too bad.

however it's worth to give reviewers a trace of what is changing in each commit.

Agreed. Perhaps take another look?

@pohly
Copy link
Author

pohly commented Feb 11, 2022

One thing that we need to clarify: some of the new API should be considered subject to change ((like the entire "test" package) or alpha (text logger). How do we communicate that so that if we need to break their API, we are not bound by the v2 API stability guarantee?

@dims: any thoughts on that?

@dims
Copy link
Member

dims commented Feb 11, 2022

@pohly the only thing i can think of is to add a README stating things explicitly. let's poke @liggitt @thockin on this to see if they have any other ideas.

@pohly
Copy link
Author

pohly commented Feb 11, 2022

A section in the README explaining stability guarantees seems reasonable. I would also call it out explicitly in the doc comment, to make sure people see it also in pkg.go.dev and go doc. I'm just not sure whether there are already any conventions for this... I found this:

https://github.com/grpc/grpc-go/blob/b4c5e24c7373b22c6c38d68379c39ecdc616a968/server.go#L1665-L1681
https://pkg.go.dev/google.golang.org/grpc#NewContextWithServerTransportStream

This looks suitable.

The new test cases are applied to structured logging calls in klog and the
stand-alone klogr logger with output through klog. The output is expected to be
the same.
klog has a lot of functions, but not all of them are covered with unit
tests. Only a few check stack unwinding.

This new test is designed to:
- check stack unwinding for all functions
- check the difference between fmt.Print and fmt.Println (only the
  latter inserts spaces between strings)
- check the output with and without a Logger

This therefore covers bugs in kubernetes#280:
- depth was not passed on to Logger
- ErrorlnDepth and WarninglnDepth used fmt.Print instead of fmt.Println
kubernetes#280 turned println and printf into
wrapper functions, but the underlying *Depth functions kept passing the same 0
depth to l.output and thus any logr.Logger.

That off-by-one error broke JSON tests in Kubernetes, luckily well before any
of the PR went into a release. It would be nice to have regression testing for
this in klog, but we cannot depend on a Logger which does stack unwinding in
the code, so the only thing that could be done is some kind of GitHub action
which combines klog with some external logger.

The depth=1 in println is also not covered by unit tests, but seems to be
correct based on the JSON tests.
kubernetes#280 added several new functions and
didn't quite get the print vs println difference right: the corresponding
non-Depth functions use fmt.Println and the Depth versions should do the same.
The implementation of V is performance critical: it may get called frequently
on hot code paths and will be responsible for all of the logging overhead when
the log messages then do not need to be formatted.
This will be needed for Logger implementations that want to emulate the
traditional verbosity check in klog.

The original code in klog.go intentionally doesn't get modified, for
two reasons:
- avoid the risk of regressions
- an attempt to do so showed that V became slower (extra calls, more
  parameters, etc.)
This makes it possible to reuse the klog output formatting in logr.Logger
implementations.
This will enable writing Logger implementations which reproduce the traditional
klog header.
klogr had a special value for a missing value in a key/value pair, so the
intention probably was to use that as replacement, the same way as klog does
it. But because of a bug in the code which removed duplicates, it treated a
missing value like nil. Now the behavior is consistent with klog.
This is invalid:
   logger.WithValue("keyWithoutValue").WithValue("anotherKeyWithoutValue")

Because it concatenated key/values without checking, klogr treated this like:
   logger.WithValue("keyWithoutValue", "anotherKeyWithoutValue")

Now the parameters are checked and a "(MISSING)" is appended as in the other
cases where a missing value is detected.
In contrast to klogr, the formatting and printing is handled entirely
by this logger without depending on klog.go.

The intention is to use this in two ways:
- for testing of SetLogger
- as simpler text logger in Kubernetes for contextual logging
@pohly
Copy link
Author

pohly commented Feb 14, 2022

I've added "EXPERIMENTAL" docs comments and a section to the README explaining this.

@dims: I think this PR is ready now. Also, can you perhaps set a tools/v0.1.0 tag? I want to check whether that really allows importing the logcheck tool into Kubernetes with a version instead of a commit hash.

@dims
Copy link
Member

dims commented Feb 14, 2022

tools/v0.1.0

@dims dims closed this Feb 14, 2022
@dims dims reopened this Feb 14, 2022
@dims
Copy link
Member

dims commented Feb 14, 2022

/approve
/lgtm

Sorry. clicked accidentally!

@k8s-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dims, 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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added lgtm "Looks good to me", indicates that a PR is ready to be merged. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Feb 14, 2022
@pohly
Copy link
Author

pohly commented Feb 14, 2022

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 14, 2022
@k8s-ci-robot k8s-ci-robot merged commit b7a44e3 into kubernetes:main Feb 14, 2022
TylerHelmuth added a commit to open-telemetry/opentelemetry-collector-contrib that referenced this pull request Dec 19, 2023
[![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
[@&#8203;aimuz](https://togithub.com/aimuz) in
[kubernetes/klog#378
- resolve comments warning by
[@&#8203;lowang-bh](https://togithub.com/lowang-bh) in
[kubernetes/klog#379
- stderrthreshold: fix flag comment by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#376
- enable "go vet" checks for parameters by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#390
- promote experimental code to stable by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#392
- golangci-lint action by [@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#380
- output: handle WithName like zapr does by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#391
- slog support + logr 1.3.0 update by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#384

#### New Contributors

- [@&#8203;aimuz](https://togithub.com/aimuz) made their first
contribution in
[kubernetes/klog#378
- [@&#8203;lowang-bh](https://togithub.com/lowang-bh) made their first
contribution in
[kubernetes/klog#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
[@&#8203;mikedanese](https://togithub.com/mikedanese) in
[kubernetes/klog#369
- add Format wrapper by [@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#374
- JSON as fallback encoding by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#375

#### New Contributors

- [@&#8203;mikedanese](https://togithub.com/mikedanese) made their first
contribution in
[kubernetes/klog#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
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#366
- ktesting improvements by [@&#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#365
- ktesting + textlogger config api by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#368
- textlogger write through by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#355
- improve textlogger by [@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#342
- kvlistformat: fix the issue with display marshalled value for non
string type by
[@&#8203;harshanarayana](https://togithub.com/harshanarayana) in
[kubernetes/klog#344
- Bump version of golang to 1.19 and drop older versions by
[@&#8203;dims](https://togithub.com/dims) in
[kubernetes/klog#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
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#337
- contextual logging: enable by default again by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#297
- hack/tools: drop dependency on golangci-lint by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#313
- StopFlushDaemon: document flushing on shutdown by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#314
- logcheck: fix detection of invalid \* regexp in filter by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#315
- README.md: clarify -logtostderr by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#319
- Trim duplicates by [@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#324
- replace KObjs with KObjSlice by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#322
- support logr.Marshaler by [@&#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#325
- internal: remove unused TrimDuplicates by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#326
- save and restore state by [@&#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#320
- GitHub: use apidiff with more recent Go by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#329
- remove hack/tools by [@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#330
- GIT-331: fix shadowing key from the kv pair by
[@&#8203;harshanarayana](https://togithub.com/harshanarayana) in
[kubernetes/klog#332
- klog.Fatal backtrace revert by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#328
- ktesting: capture log data in memory by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#327
- GIT-275: add tests for int and struct keys by
[@&#8203;harshanarayana](https://togithub.com/harshanarayana) in
[kubernetes/klog#333

#### New Contributors

- [@&#8203;harshanarayana](https://togithub.com/harshanarayana) made
their first contribution in
[kubernetes/klog#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
[@&#8203;serathius](https://togithub.com/serathius) in
[kubernetes/klog#309
- dependencies: avoid k8s.io/utils, fork clock code instead by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#310
- promote contextual logging APIs to stable by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[@&#8203;jklaw90](https://togithub.com/jklaw90) in
[kubernetes/klog#283
- Add missing Depth logging functions. by
[@&#8203;s3rj1k](https://togithub.com/s3rj1k) in
[kubernetes/klog#280
- fix typo in klog.go by
[@&#8203;cocaccola](https://togithub.com/cocaccola) in
[kubernetes/klog#270
- Update README.md by
[@&#8203;noaabarki](https://togithub.com/noaabarki) in
[kubernetes/klog#281
- log filter: ignored by V, used during log call by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#290
- SetLogger/ClearLogger/SetLogFilter cleanup by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#289
- fixes for PR
[#&#8203;280](https://togithub.com/kubernetes/klog/issues/280),
refactoring, textlogger, unit test by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#287
- klogr verbosity by [@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#295
- test: fix Go version matrix by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#298
- handle panics in MarshalLog, Error, String by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#299
- Fix goroutine leak: make flushDaemon stoppable by
[@&#8203;katexochen](https://togithub.com/katexochen) in
[kubernetes/klog#293
- structured logging: replacing Fatal/Exit/etc. without loss of flushing
by [@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#303
- contextual logging by [@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#296
- remove side effects of tests by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#305
- tests: stop testing with Go 1.14 by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#304

#### New Contributors

- [@&#8203;jklaw90](https://togithub.com/jklaw90) made their first
contribution in
[kubernetes/klog#283
- [@&#8203;s3rj1k](https://togithub.com/s3rj1k) made their first
contribution in
[kubernetes/klog#280
- [@&#8203;cocaccola](https://togithub.com/cocaccola) made their first
contribution in
[kubernetes/klog#270
- [@&#8203;noaabarki](https://togithub.com/noaabarki) made their first
contribution in
[kubernetes/klog#281
- [@&#8203;katexochen](https://togithub.com/katexochen) made their first
contribution in
[kubernetes/klog#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
[@&#8203;phillipsj](https://togithub.com/phillipsj) in
[kubernetes/klog#271
- Recover from nil pointers when logging by
[@&#8203;dims](https://togithub.com/dims) in
[kubernetes/klog#279

#### New Contributors

- [@&#8203;phillipsj](https://togithub.com/phillipsj) made their first
contribution in
[kubernetes/klog#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
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#273
- Fix klog lock release on panic error by
[@&#8203;astraw99](https://togithub.com/astraw99) in
[kubernetes/klog#272
- add format test for KObjs by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#276
- add Verbose.InfoSDepth by [@&#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#277

#### Known Issues

-
[kubernetes/klog#278

#### New Contributors

- [@&#8203;astraw99](https://togithub.com/astraw99) made their first
contribution in
[kubernetes/klog#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
[@&#8203;luyou86](https://togithub.com/luyou86) in
[kubernetes/klog#265
- custom marshaler for ObjectRef by
[@&#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#266

#### New Contributors

- [@&#8203;luyou86](https://togithub.com/luyou86) made their first
contribution in
[kubernetes/klog#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 -&gt; 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 <107717825+opentelemetrybot@users.noreply.github.com>
Co-authored-by: Yang Song <songy23@users.noreply.github.com>
Co-authored-by: Tyler Helmuth <12352919+TylerHelmuth@users.noreply.github.com>
nslaughter pushed a commit to nslaughter/opentelemetry-collector-contrib that referenced this pull request Dec 27, 2023
[![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
[kubernetes/klog#378
- resolve comments warning by
[@&open-telemetry#8203;lowang-bh](https://togithub.com/lowang-bh) in
[kubernetes/klog#379
- stderrthreshold: fix flag comment by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#376
- enable "go vet" checks for parameters by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#390
- promote experimental code to stable by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#392
- golangci-lint action by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#380
- output: handle WithName like zapr does by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#391
- slog support + logr 1.3.0 update by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#384

#### New Contributors

- [@&open-telemetry#8203;aimuz](https://togithub.com/aimuz) made their first
contribution in
[kubernetes/klog#378
- [@&open-telemetry#8203;lowang-bh](https://togithub.com/lowang-bh) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#369
- add Format wrapper by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#374
- JSON as fallback encoding by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#375

#### New Contributors

- [@&open-telemetry#8203;mikedanese](https://togithub.com/mikedanese) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#366
- ktesting improvements by [@&open-telemetry#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#365
- ktesting + textlogger config api by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#368
- textlogger write through by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#355
- improve textlogger by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#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
[kubernetes/klog#342
- kvlistformat: fix the issue with display marshalled value for non
string type by
[@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) in
[kubernetes/klog#344
- Bump version of golang to 1.19 and drop older versions by
[@&open-telemetry#8203;dims](https://togithub.com/dims) in
[kubernetes/klog#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
[kubernetes/klog#337
- contextual logging: enable by default again by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#297
- hack/tools: drop dependency on golangci-lint by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#313
- StopFlushDaemon: document flushing on shutdown by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#314
- logcheck: fix detection of invalid \* regexp in filter by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#315
- README.md: clarify -logtostderr by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#319
- Trim duplicates by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#324
- replace KObjs with KObjSlice by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#322
- support logr.Marshaler by [@&open-telemetry#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#325
- internal: remove unused TrimDuplicates by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#326
- save and restore state by [@&open-telemetry#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#320
- GitHub: use apidiff with more recent Go by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#329
- remove hack/tools by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#330
- GIT-331: fix shadowing key from the kv pair by
[@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) in
[kubernetes/klog#332
- klog.Fatal backtrace revert by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#328
- ktesting: capture log data in memory by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#327
- GIT-275: add tests for int and struct keys by
[@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) in
[kubernetes/klog#333

#### New Contributors

- [@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) made
their first contribution in
[kubernetes/klog#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
[kubernetes/klog#309
- dependencies: avoid k8s.io/utils, fork clock code instead by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#310
- promote contextual logging APIs to stable by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#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
[kubernetes/klog#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
[kubernetes/klog#283
- Add missing Depth logging functions. by
[@&open-telemetry#8203;s3rj1k](https://togithub.com/s3rj1k) in
[kubernetes/klog#280
- fix typo in klog.go by
[@&open-telemetry#8203;cocaccola](https://togithub.com/cocaccola) in
[kubernetes/klog#270
- Update README.md by
[@&open-telemetry#8203;noaabarki](https://togithub.com/noaabarki) in
[kubernetes/klog#281
- log filter: ignored by V, used during log call by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#290
- SetLogger/ClearLogger/SetLogFilter cleanup by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#287
- klogr verbosity by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#295
- test: fix Go version matrix by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#298
- handle panics in MarshalLog, Error, String by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#299
- Fix goroutine leak: make flushDaemon stoppable by
[@&open-telemetry#8203;katexochen](https://togithub.com/katexochen) in
[kubernetes/klog#293
- structured logging: replacing Fatal/Exit/etc. without loss of flushing
by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#303
- contextual logging by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#296
- remove side effects of tests by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#305
- tests: stop testing with Go 1.14 by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#304

#### New Contributors

- [@&open-telemetry#8203;jklaw90](https://togithub.com/jklaw90) made their first
contribution in
[kubernetes/klog#283
- [@&open-telemetry#8203;s3rj1k](https://togithub.com/s3rj1k) made their first
contribution in
[kubernetes/klog#280
- [@&open-telemetry#8203;cocaccola](https://togithub.com/cocaccola) made their first
contribution in
[kubernetes/klog#270
- [@&open-telemetry#8203;noaabarki](https://togithub.com/noaabarki) made their first
contribution in
[kubernetes/klog#281
- [@&open-telemetry#8203;katexochen](https://togithub.com/katexochen) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#271
- Recover from nil pointers when logging by
[@&open-telemetry#8203;dims](https://togithub.com/dims) in
[kubernetes/klog#279

#### New Contributors

- [@&open-telemetry#8203;phillipsj](https://togithub.com/phillipsj) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#273
- Fix klog lock release on panic error by
[@&open-telemetry#8203;astraw99](https://togithub.com/astraw99) in
[kubernetes/klog#272
- add format test for KObjs by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#276
- add Verbose.InfoSDepth by [@&open-telemetry#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#277

#### Known Issues

-
[kubernetes/klog#278

#### New Contributors

- [@&open-telemetry#8203;astraw99](https://togithub.com/astraw99) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#265
- custom marshaler for ObjectRef by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#266

#### New Contributors

- [@&open-telemetry#8203;luyou86](https://togithub.com/luyou86) made their first
contribution in
[kubernetes/klog#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 -&gt; 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 <107717825+opentelemetrybot@users.noreply.github.com>
Co-authored-by: Yang Song <songy23@users.noreply.github.com>
Co-authored-by: Tyler Helmuth <12352919+TylerHelmuth@users.noreply.github.com>
nslaughter pushed a commit to nslaughter/opentelemetry-collector-contrib that referenced this pull request Dec 27, 2023
[![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
[kubernetes/klog#378
- resolve comments warning by
[@&open-telemetry#8203;lowang-bh](https://togithub.com/lowang-bh) in
[kubernetes/klog#379
- stderrthreshold: fix flag comment by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#376
- enable "go vet" checks for parameters by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#390
- promote experimental code to stable by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#392
- golangci-lint action by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#380
- output: handle WithName like zapr does by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#391
- slog support + logr 1.3.0 update by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#384

#### New Contributors

- [@&open-telemetry#8203;aimuz](https://togithub.com/aimuz) made their first
contribution in
[kubernetes/klog#378
- [@&open-telemetry#8203;lowang-bh](https://togithub.com/lowang-bh) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#369
- add Format wrapper by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#374
- JSON as fallback encoding by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#375

#### New Contributors

- [@&open-telemetry#8203;mikedanese](https://togithub.com/mikedanese) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#366
- ktesting improvements by [@&open-telemetry#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#365
- ktesting + textlogger config api by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#368
- textlogger write through by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#355
- improve textlogger by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#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
[kubernetes/klog#342
- kvlistformat: fix the issue with display marshalled value for non
string type by
[@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) in
[kubernetes/klog#344
- Bump version of golang to 1.19 and drop older versions by
[@&open-telemetry#8203;dims](https://togithub.com/dims) in
[kubernetes/klog#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
[kubernetes/klog#337
- contextual logging: enable by default again by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#297
- hack/tools: drop dependency on golangci-lint by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#313
- StopFlushDaemon: document flushing on shutdown by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#314
- logcheck: fix detection of invalid \* regexp in filter by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#315
- README.md: clarify -logtostderr by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#319
- Trim duplicates by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#324
- replace KObjs with KObjSlice by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#322
- support logr.Marshaler by [@&open-telemetry#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#325
- internal: remove unused TrimDuplicates by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#326
- save and restore state by [@&open-telemetry#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#320
- GitHub: use apidiff with more recent Go by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#329
- remove hack/tools by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#330
- GIT-331: fix shadowing key from the kv pair by
[@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) in
[kubernetes/klog#332
- klog.Fatal backtrace revert by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#328
- ktesting: capture log data in memory by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#327
- GIT-275: add tests for int and struct keys by
[@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) in
[kubernetes/klog#333

#### New Contributors

- [@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) made
their first contribution in
[kubernetes/klog#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
[kubernetes/klog#309
- dependencies: avoid k8s.io/utils, fork clock code instead by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#310
- promote contextual logging APIs to stable by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#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
[kubernetes/klog#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
[kubernetes/klog#283
- Add missing Depth logging functions. by
[@&open-telemetry#8203;s3rj1k](https://togithub.com/s3rj1k) in
[kubernetes/klog#280
- fix typo in klog.go by
[@&open-telemetry#8203;cocaccola](https://togithub.com/cocaccola) in
[kubernetes/klog#270
- Update README.md by
[@&open-telemetry#8203;noaabarki](https://togithub.com/noaabarki) in
[kubernetes/klog#281
- log filter: ignored by V, used during log call by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#290
- SetLogger/ClearLogger/SetLogFilter cleanup by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#287
- klogr verbosity by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#295
- test: fix Go version matrix by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#298
- handle panics in MarshalLog, Error, String by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#299
- Fix goroutine leak: make flushDaemon stoppable by
[@&open-telemetry#8203;katexochen](https://togithub.com/katexochen) in
[kubernetes/klog#293
- structured logging: replacing Fatal/Exit/etc. without loss of flushing
by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#303
- contextual logging by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#296
- remove side effects of tests by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#305
- tests: stop testing with Go 1.14 by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#304

#### New Contributors

- [@&open-telemetry#8203;jklaw90](https://togithub.com/jklaw90) made their first
contribution in
[kubernetes/klog#283
- [@&open-telemetry#8203;s3rj1k](https://togithub.com/s3rj1k) made their first
contribution in
[kubernetes/klog#280
- [@&open-telemetry#8203;cocaccola](https://togithub.com/cocaccola) made their first
contribution in
[kubernetes/klog#270
- [@&open-telemetry#8203;noaabarki](https://togithub.com/noaabarki) made their first
contribution in
[kubernetes/klog#281
- [@&open-telemetry#8203;katexochen](https://togithub.com/katexochen) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#271
- Recover from nil pointers when logging by
[@&open-telemetry#8203;dims](https://togithub.com/dims) in
[kubernetes/klog#279

#### New Contributors

- [@&open-telemetry#8203;phillipsj](https://togithub.com/phillipsj) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#273
- Fix klog lock release on panic error by
[@&open-telemetry#8203;astraw99](https://togithub.com/astraw99) in
[kubernetes/klog#272
- add format test for KObjs by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#276
- add Verbose.InfoSDepth by [@&open-telemetry#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#277

#### Known Issues

-
[kubernetes/klog#278

#### New Contributors

- [@&open-telemetry#8203;astraw99](https://togithub.com/astraw99) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#265
- custom marshaler for ObjectRef by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#266

#### New Contributors

- [@&open-telemetry#8203;luyou86](https://togithub.com/luyou86) made their first
contribution in
[kubernetes/klog#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 -&gt; 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 <107717825+opentelemetrybot@users.noreply.github.com>
Co-authored-by: Yang Song <songy23@users.noreply.github.com>
Co-authored-by: Tyler Helmuth <12352919+TylerHelmuth@users.noreply.github.com>
cparkins pushed a commit to AmadeusITGroup/opentelemetry-collector-contrib that referenced this pull request Jan 10, 2024
[![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
[kubernetes/klog#378
- resolve comments warning by
[@&open-telemetry#8203;lowang-bh](https://togithub.com/lowang-bh) in
[kubernetes/klog#379
- stderrthreshold: fix flag comment by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#376
- enable "go vet" checks for parameters by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#390
- promote experimental code to stable by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#392
- golangci-lint action by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#380
- output: handle WithName like zapr does by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#391
- slog support + logr 1.3.0 update by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#384

#### New Contributors

- [@&open-telemetry#8203;aimuz](https://togithub.com/aimuz) made their first
contribution in
[kubernetes/klog#378
- [@&open-telemetry#8203;lowang-bh](https://togithub.com/lowang-bh) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#369
- add Format wrapper by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#374
- JSON as fallback encoding by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#375

#### New Contributors

- [@&open-telemetry#8203;mikedanese](https://togithub.com/mikedanese) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#366
- ktesting improvements by [@&open-telemetry#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#365
- ktesting + textlogger config api by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#368
- textlogger write through by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#355
- improve textlogger by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#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
[kubernetes/klog#342
- kvlistformat: fix the issue with display marshalled value for non
string type by
[@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) in
[kubernetes/klog#344
- Bump version of golang to 1.19 and drop older versions by
[@&open-telemetry#8203;dims](https://togithub.com/dims) in
[kubernetes/klog#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
[kubernetes/klog#337
- contextual logging: enable by default again by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#297
- hack/tools: drop dependency on golangci-lint by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#313
- StopFlushDaemon: document flushing on shutdown by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#314
- logcheck: fix detection of invalid \* regexp in filter by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#315
- README.md: clarify -logtostderr by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#319
- Trim duplicates by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#324
- replace KObjs with KObjSlice by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#322
- support logr.Marshaler by [@&open-telemetry#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#325
- internal: remove unused TrimDuplicates by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#326
- save and restore state by [@&open-telemetry#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#320
- GitHub: use apidiff with more recent Go by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#329
- remove hack/tools by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#330
- GIT-331: fix shadowing key from the kv pair by
[@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) in
[kubernetes/klog#332
- klog.Fatal backtrace revert by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#328
- ktesting: capture log data in memory by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#327
- GIT-275: add tests for int and struct keys by
[@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) in
[kubernetes/klog#333

#### New Contributors

- [@&open-telemetry#8203;harshanarayana](https://togithub.com/harshanarayana) made
their first contribution in
[kubernetes/klog#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
[kubernetes/klog#309
- dependencies: avoid k8s.io/utils, fork clock code instead by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#310
- promote contextual logging APIs to stable by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#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
[kubernetes/klog#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
[kubernetes/klog#283
- Add missing Depth logging functions. by
[@&open-telemetry#8203;s3rj1k](https://togithub.com/s3rj1k) in
[kubernetes/klog#280
- fix typo in klog.go by
[@&open-telemetry#8203;cocaccola](https://togithub.com/cocaccola) in
[kubernetes/klog#270
- Update README.md by
[@&open-telemetry#8203;noaabarki](https://togithub.com/noaabarki) in
[kubernetes/klog#281
- log filter: ignored by V, used during log call by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#290
- SetLogger/ClearLogger/SetLogFilter cleanup by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#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
[kubernetes/klog#287
- klogr verbosity by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#295
- test: fix Go version matrix by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#298
- handle panics in MarshalLog, Error, String by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#299
- Fix goroutine leak: make flushDaemon stoppable by
[@&open-telemetry#8203;katexochen](https://togithub.com/katexochen) in
[kubernetes/klog#293
- structured logging: replacing Fatal/Exit/etc. without loss of flushing
by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#303
- contextual logging by [@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#296
- remove side effects of tests by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#305
- tests: stop testing with Go 1.14 by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#304

#### New Contributors

- [@&open-telemetry#8203;jklaw90](https://togithub.com/jklaw90) made their first
contribution in
[kubernetes/klog#283
- [@&open-telemetry#8203;s3rj1k](https://togithub.com/s3rj1k) made their first
contribution in
[kubernetes/klog#280
- [@&open-telemetry#8203;cocaccola](https://togithub.com/cocaccola) made their first
contribution in
[kubernetes/klog#270
- [@&open-telemetry#8203;noaabarki](https://togithub.com/noaabarki) made their first
contribution in
[kubernetes/klog#281
- [@&open-telemetry#8203;katexochen](https://togithub.com/katexochen) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#271
- Recover from nil pointers when logging by
[@&open-telemetry#8203;dims](https://togithub.com/dims) in
[kubernetes/klog#279

#### New Contributors

- [@&open-telemetry#8203;phillipsj](https://togithub.com/phillipsj) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#273
- Fix klog lock release on panic error by
[@&open-telemetry#8203;astraw99](https://togithub.com/astraw99) in
[kubernetes/klog#272
- add format test for KObjs by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#276
- add Verbose.InfoSDepth by [@&open-telemetry#8203;pohly](https://togithub.com/pohly)
in
[kubernetes/klog#277

#### Known Issues

-
[kubernetes/klog#278

#### New Contributors

- [@&open-telemetry#8203;astraw99](https://togithub.com/astraw99) made their first
contribution in
[kubernetes/klog#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
[kubernetes/klog#265
- custom marshaler for ObjectRef by
[@&open-telemetry#8203;pohly](https://togithub.com/pohly) in
[kubernetes/klog#266

#### New Contributors

- [@&open-telemetry#8203;luyou86](https://togithub.com/luyou86) made their first
contribution in
[kubernetes/klog#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 -&gt; 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 <107717825+opentelemetrybot@users.noreply.github.com>
Co-authored-by: Yang Song <songy23@users.noreply.github.com>
Co-authored-by: Tyler Helmuth <12352919+TylerHelmuth@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

unit testing of SetLogger
5 participants