Skip to content

Commit

Permalink
Revert "log: define G() as a function instead of a variable"
Browse files Browse the repository at this point in the history
This reverts commit 778ac30.

(slightly modified, due to changes that were merged after that).

The reverted commit had two elements;

- Make `G` an actual function to improve the documentation
- Prevent `G` from being overwritten externally

From the commit that's reverted:

> The `G` variable is exported, and not expected to be overwritten
> externally. Defining it as a function also documents it as a function
> on https://pkg.go.dev, instead of a variable; https://pkg.go.dev/github.com/containerd/containerd@v1.6.22/log#pkg-variables

While it's unclear if the ability to replace the implementation was
_intentional_, it's this part that some external consumers were (ab)using.

We should look into that part in a follow-up, and design for this, for
example by providing a utility to replace the logger, and properly document
that.

In the meantime, let's revert the change.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 19d6c37)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
  • Loading branch information
thaJeztah committed Sep 8, 2023
1 parent 0a7f297 commit 33c2d88
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions log/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@ import (
"github.com/sirupsen/logrus"
)

// G is a shorthand for [GetLogger].
//
// We may want to define this locally to a package to get package tagged log
// messages.
var G = GetLogger

// L is an alias for the standard logger.
var L = &Entry{
Logger: logrus.StandardLogger(),
Expand Down Expand Up @@ -169,11 +175,6 @@ func WithLogger(ctx context.Context, logger *Entry) context.Context {
// GetLogger retrieves the current logger from the context. If no logger is
// available, the default logger is returned.
func GetLogger(ctx context.Context) *Entry {
return G(ctx)
}

// G is a shorthand for [GetLogger].
func G(ctx context.Context) *Entry {
if logger := ctx.Value(loggerKey{}); logger != nil {
return logger.(*Entry)
}
Expand Down

0 comments on commit 33c2d88

Please sign in to comment.