logger

package
v0.0.0-...-f8ac4ba Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package logger implements a simple way to init a global logger and access it through a logr.Logger interface.

Message:

All messages should start with a capital letter.

Log level:

The loggers only support verbosity levels (V-levels) instead of semantic levels. Level zero, the default, matters most. Increasing levels matter less and less.

  • 0: You always want to see this.
  • 1: Common logging that you don't want to show by default.
  • 2: Useful steady state information about the operation and important log messages that may correlate to significant changes in the system.
  • 3: Extended information about changes. Somehow useful information to the user that is not important enough for level 2.
  • 4: Debugging information. Starting from this level, all logs are oriented to developers and troubleshooting.
  • 5: Traces. Information to follow the code path.
  • 6: Information about interaction with external resources. External binary commands, api calls.
  • 7: Extra information passed to external systems. Configuration files, kubernetes manifests, etc.
  • 8: Truncated external binaries and clients output/responses.
  • 9: Full external binaries and clients output/responses.

Logging WithValues:

Logging WithValues should be preferred to embedding values into log messages because it allows machine readability.

Variables name should start with a capital letter.

Logging WithNames:

Logging WithNames should be used carefully. Please consider that practices like prefixing the logs with something indicating which part of code is generating the log entry might be useful for developers, but it can create confusion for the end users because it increases the verbosity without providing information the user can understand/take benefit from.

Logging errors:

A proper error management should always be preferred to the usage of log.Error.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Error

func Error(err error, msg string, keysAndValues ...interface{})

func Fatal

func Fatal(err error, msg string)

Fatal is equivalent to Get().Error() followed by a call to os.Exit(1).

func Get

func Get() logr.Logger

Get returns the logger instance that has been previously set. If no logger has been set, it returns a null logger.

func Info

func Info(msg string, keysAndValues ...interface{})

Info logs a non-error message with the given key/value pairs as context.

The msg argument should be used to add some constant description to the log line. The key/value pairs can then be used to add additional variable information. The key/value pairs should alternate string keys and arbitrary values.

func InitZap

func InitZap(level int, opts ...LoggerOpt) error

InitZap creates a zap logger with the provided verbosity level and sets it as the package logger. 0 is the least verbose and 10 the most verbose. The package logger can only be init once, so subsequent calls to this method won't have any effect.

func MarkFail

func MarkFail(msg string, keysAndValues ...interface{})

func MarkPass

func MarkPass(msg string, keysAndValues ...interface{})

func MarkSuccess

func MarkSuccess(msg string, keysAndValues ...interface{})

func MarkWarning

func MarkWarning(msg string, keysAndValues ...interface{})

func MaxLogging

func MaxLogging() bool

func MaxLoggingLevel

func MaxLoggingLevel() int

func NullTimeEncoder

func NullTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder)

NullTimeEncoder skips time serialization.

func V

func V(level int) logr.Logger

V returns an Logger value for a specific verbosity level, relative to this Logger. In other words, V values are additive. V higher verbosity level means a log message is less important. It's illegal to pass a log level less than zero.

func VLevelEncoder

func VLevelEncoder(l zapcore.Level, enc zapcore.PrimitiveArrayEncoder)

VLevelEncoder serializes a Level to V + v-level number,.

Types

type LoggerOpt

type LoggerOpt func(logr *logr.Logger)

func WithName

func WithName(name string) LoggerOpt

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL