deprecate logs package, but disable linter (for transitioning)

Deprecate the pacakge, but suppress linting errors for now. This is to allow
backporting these changes to release branches, which may still need to transition.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2023-09-13 14:10:41 +02:00
parent d69ae811d6
commit 03b9ce56b5
No known key found for this signature in database
GPG Key ID: 76698F39D527CE8C
3 changed files with 53 additions and 0 deletions

View File

@ -51,6 +51,15 @@ issues:
- revive - revive
text: "redefines-builtin-id" text: "redefines-builtin-id"
# FIXME temporarily suppress deprecation warnings for the logs package. See https://github.com/containerd/containerd/pull/9086
- text: "SA1019: log\\.(G|L|Fields|Entry|RFC3339NanoFixed|Level|TraceLevel|DebugLevel|InfoLevel|WarnLevel|ErrorLevel|FatalLevel|PanicLevel|SetLevel|GetLevel|OutputFormat|TextFormat|JSONFormat|SetFormat|WithLogger|GetLogger)"
linters:
- staticcheck
- text: "SA1019: logtest\\.WithT"
linters:
- staticcheck
linters-settings: linters-settings:
gosec: gosec:
# The following issues surfaced when `gosec` linter # The following issues surfaced when `gosec` linter

View File

@ -23,85 +23,127 @@ import (
) )
// G is a shorthand for [GetLogger]. // G is a shorthand for [GetLogger].
//
// Deprecated: use [log.G].
var G = log.G var G = log.G
// L is an alias for the standard logger. // L is an alias for the standard logger.
//
// Deprecated: use [log.L].
var L = log.L var L = log.L
// Fields type to pass to "WithFields". // Fields type to pass to "WithFields".
//
// Deprecated: use [log.Fields].
type Fields = log.Fields type Fields = log.Fields
// Entry is a logging entry. // Entry is a logging entry.
//
// Deprecated: use [log.Entry].
type Entry = log.Entry type Entry = log.Entry
// RFC3339NanoFixed is [time.RFC3339Nano] with nanoseconds padded using // RFC3339NanoFixed is [time.RFC3339Nano] with nanoseconds padded using
// zeros to ensure the formatted time is always the same number of // zeros to ensure the formatted time is always the same number of
// characters. // characters.
//
// Deprecated: use [log.RFC3339NanoFixed].
const RFC3339NanoFixed = log.RFC3339NanoFixed const RFC3339NanoFixed = log.RFC3339NanoFixed
// Level is a logging level. // Level is a logging level.
//
// Deprecated: use [log.Level].
type Level = log.Level type Level = log.Level
// Supported log levels. // Supported log levels.
const ( const (
// TraceLevel level. // TraceLevel level.
//
// Deprecated: use [log.TraceLevel].
TraceLevel Level = log.TraceLevel TraceLevel Level = log.TraceLevel
// DebugLevel level. // DebugLevel level.
//
// Deprecated: use [log.DebugLevel].
DebugLevel Level = log.DebugLevel DebugLevel Level = log.DebugLevel
// InfoLevel level. // InfoLevel level.
//
// Deprecated: use [log.InfoLevel].
InfoLevel Level = log.InfoLevel InfoLevel Level = log.InfoLevel
// WarnLevel level. // WarnLevel level.
//
// Deprecated: use [log.WarnLevel].
WarnLevel Level = log.WarnLevel WarnLevel Level = log.WarnLevel
// ErrorLevel level // ErrorLevel level
//
// Deprecated: use [log.ErrorLevel].
ErrorLevel Level = log.ErrorLevel ErrorLevel Level = log.ErrorLevel
// FatalLevel level. // FatalLevel level.
//
// Deprecated: use [log.FatalLevel].
FatalLevel Level = log.FatalLevel FatalLevel Level = log.FatalLevel
// PanicLevel level. // PanicLevel level.
//
// Deprecated: use [log.PanicLevel].
PanicLevel Level = log.PanicLevel PanicLevel Level = log.PanicLevel
) )
// SetLevel sets log level globally. It returns an error if the given // SetLevel sets log level globally. It returns an error if the given
// level is not supported. // level is not supported.
//
// Deprecated: use [log.SetLevel].
func SetLevel(level string) error { func SetLevel(level string) error {
return log.SetLevel(level) return log.SetLevel(level)
} }
// GetLevel returns the current log level. // GetLevel returns the current log level.
//
// Deprecated: use [log.GetLevel].
func GetLevel() log.Level { func GetLevel() log.Level {
return log.GetLevel() return log.GetLevel()
} }
// OutputFormat specifies a log output format. // OutputFormat specifies a log output format.
//
// Deprecated: use [log.OutputFormat].
type OutputFormat = log.OutputFormat type OutputFormat = log.OutputFormat
// Supported log output formats. // Supported log output formats.
const ( const (
// TextFormat represents the text logging format. // TextFormat represents the text logging format.
//
// Deprecated: use [log.TextFormat].
TextFormat log.OutputFormat = "text" TextFormat log.OutputFormat = "text"
// JSONFormat represents the JSON logging format. // JSONFormat represents the JSON logging format.
//
// Deprecated: use [log.JSONFormat].
JSONFormat log.OutputFormat = "json" JSONFormat log.OutputFormat = "json"
) )
// SetFormat sets the log output format. // SetFormat sets the log output format.
//
// Deprecated: use [log.SetFormat].
func SetFormat(format OutputFormat) error { func SetFormat(format OutputFormat) error {
return log.SetFormat(format) return log.SetFormat(format)
} }
// WithLogger returns a new context with the provided logger. Use in // WithLogger returns a new context with the provided logger. Use in
// combination with logger.WithField(s) for great effect. // combination with logger.WithField(s) for great effect.
//
// Deprecated: use [log.WithLogger].
func WithLogger(ctx context.Context, logger *log.Entry) context.Context { func WithLogger(ctx context.Context, logger *log.Entry) context.Context {
return log.WithLogger(ctx, logger) return log.WithLogger(ctx, logger)
} }
// GetLogger retrieves the current logger from the context. If no logger is // GetLogger retrieves the current logger from the context. If no logger is
// available, the default logger is returned. // available, the default logger is returned.
//
// Deprecated: use [log.GetLogger].
func GetLogger(ctx context.Context) *log.Entry { func GetLogger(ctx context.Context) *log.Entry {
return log.GetLogger(ctx) return log.GetLogger(ctx)
} }

View File

@ -26,6 +26,8 @@ import (
// WithT adds a logging hook for the given test // WithT adds a logging hook for the given test
// Changes debug level to debug, clears output, and // Changes debug level to debug, clears output, and
// outputs all log messages as test logs. // outputs all log messages as test logs.
//
// Deprecated: use [logtest.WithT].
func WithT(ctx context.Context, t testing.TB) context.Context { func WithT(ctx context.Context, t testing.TB) context.Context {
return logtest.WithT(ctx, t) return logtest.WithT(ctx, t)
} }