mirror of https://github.com/k3s-io/k3s
26 lines
1.4 KiB
Markdown
26 lines
1.4 KiB
Markdown
![]() |
Logging Conventions
|
||
|
===================
|
||
|
|
||
|
The following conventions for the glog levels to use. glog is globally prefered to "log" for better runtime control.
|
||
|
|
||
|
* glog.Errorf() - Always an error
|
||
|
* glog.Warningf() - Something unexpected, but probably not an error
|
||
|
* glog.Infof / glog.V(0) - Generally useful for this to ALWAYS be visible to an operator
|
||
|
* Programmer errors
|
||
|
* Logging extra info about a panic
|
||
|
* CLI argument handling
|
||
|
* glog.V(1) - A reasonable default log level if you don't want verbosity.
|
||
|
* Information about config (listening on X, watching Y)
|
||
|
* Errors that repeat frequently that relate to conditions that can be corrected (pod detected as unhealthy)
|
||
|
* glog.V(2) - Useful steady state information about the service and important log messages that may correlate to significant changes in the system. This is the recommended default log level for most systems.
|
||
|
* Logging HTTP requests and their exit code
|
||
|
* System state changing (killing pod)
|
||
|
* Controller state change events (starting pods)
|
||
|
* Scheduler log messages
|
||
|
* glog.V(3) - Extended information about changes
|
||
|
* More info about system state changes
|
||
|
* glog.V(4) - Debug level verbosity (for now)
|
||
|
* Logging in particularly thorny parts of code where you may want to come back later and check it
|
||
|
|
||
|
As per the comments, the practical default level is V(2). Developers and QE environments may wish to run at V(3) or V(4).
|