-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Open
Description
Our new logger misses 2 more features that can be useful and are common in logging.
This would result in a "feature parity" with other logging libs
Ability to retrieve a global logger
Example: https://github.com/rs/zerolog?tab=readme-ov-file#simple-logging-example
package abc
import "cosmossdk.io/log"
func foo(v string) error {
// global log.Info, Warn, Error, are exported as top-level functions
log.Info("Foo", "value", v)
}Ability to get/set a logger from ctx
import (
"cosmossdk.io/log"
"context"
)
func bar() error {
ctx := context.Background()
logger := log.NewLogger(...)
ctx = logger.WithContext(ctx)
return foo(ctx)
}
func foo(ctx context.Context) error {
logger := log.FromContext(ctx)
logger.Info("Hello world!")
// ...
return nil
}Related:
Metadata
Metadata
Assignees
Labels
No labels