-
Notifications
You must be signed in to change notification settings - Fork 38.7k
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
Migrated server.go, ipvs/proxier.go(partial) to structured logging #105769
Migrated server.go, ipvs/proxier.go(partial) to structured logging #105769
Conversation
@shivanshu1333: This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/assign @serathius |
Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>
Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>
Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>
Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>
Co-authored-by: Marek Siarkowicz <marek.siarkowicz@protonmail.com>
/wg structured-logging |
/lgtm |
@serathius for education, why replacing the |
@aojea we don't need to use the stringer while logging, we do it by default in klog ref https://github.com/kubernetes/klog/blob/331d2323a192188a9aca7006c8dedd0c61c03833/klog.go#L816-L840 |
/retest |
@aojea This is a difference in behavior between C like format methods like "Infof" and structured ones like "InfoS". In C string formats it is responsibility of log caller to decide how to marshal (represent as text/bytes) arguments passed to logger. For example you need to pick proper format "%d" for decimal numbers, for more complicated types like structs you can pick "%v", "%#v", "#+v" or implement stringer interface and use "%s". This allows users to have more control, however it leads to inconsistency throughout codebase. In structured logging we explicitly delegate decision about marshalling to logging library, we pass whole object and depend on library to pick a best serialization methods (we can add some hints, but they should be applied per type and not per line). Good example is one that @shivanshu1333 linked https://github.com/kubernetes/klog/blob/331d2323a192188a9aca7006c8dedd0c61c03833/klog.go#L816-L840. It's the code that K8s uses to pick a marshalling when writing in default text format. However Kubernetes supports multiple log formats ("text", "json"), so best marshalling format will depend on logging format we use. By removing |
Thanks both, appreciate it |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: aojea, shivanshu1333 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 |
using label to squash |
What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Fixed incorrectly migrated logs
Migrated some missing logs to structured logging
Which issue(s) this PR fixes:
Ref: #104872
Special notes for your reviewer:
In this PR, I've cleaned up some improperly migrated logs, going forward we need to figure out a way to make every migration follow the guide, #105718 (comment)
Also, this PR contains partial migration of ipvs/proxier.go since it's very huge file, sending another PR for remaining part
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: