refactor: use standard logger instead of logrus
This commit is contained in:
parent
48cd004bed
commit
392a04fd12
9 changed files with 152 additions and 29 deletions
8
internal/olog/package.go
Normal file
8
internal/olog/package.go
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
// Package olog provides a simple wrapper around the standard log package
|
||||
// variable so logging statements are shorter. Instead of pkg.Logger.Printf one
|
||||
// can simply write olog.Printf.
|
||||
//
|
||||
// The name stands for "optional logger" because the output can be disabled by
|
||||
// setting the logger to nil or providing io.Discard as the output. This is
|
||||
// useful for user-configurable logging (e.g. --verbose flags for CLI apps).
|
||||
package olog
|
||||
83
internal/olog/proxy.go
Normal file
83
internal/olog/proxy.go
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
package olog
|
||||
|
||||
import "io"
|
||||
|
||||
// Print is a proxy for log.Print.
|
||||
func Print(v ...any) {
|
||||
Default().Print(v...)
|
||||
}
|
||||
|
||||
// Printf is a proxy for log.Printf.
|
||||
func Printf(format string, v ...any) {
|
||||
Default().Printf(format, v...)
|
||||
}
|
||||
|
||||
// Println is a proxy for log.Println.
|
||||
func Println(v ...any) {
|
||||
Default().Println(v...)
|
||||
}
|
||||
|
||||
// Fatal is a proxy for log.Fatal.
|
||||
func Fatal(v ...any) {
|
||||
Default().Fatal(v...)
|
||||
}
|
||||
|
||||
// Fatalf is a proxy for log.Fatalf.
|
||||
func Fatalf(format string, v ...any) {
|
||||
Default().Fatalf(format, v...)
|
||||
}
|
||||
|
||||
// Fatalln is a proxy for log.Fatalln.
|
||||
func Fatalln(v ...any) {
|
||||
Default().Fatalln(v...)
|
||||
}
|
||||
|
||||
// Panic is a proxy for log.Panic.
|
||||
func Panic(v ...any) {
|
||||
Default().Panic(v...)
|
||||
}
|
||||
|
||||
// Panicf is a proxy for log.Panicf.
|
||||
func Panicf(format string, v ...any) {
|
||||
Default().Panicf(format, v...)
|
||||
}
|
||||
|
||||
// Panicln is a proxy for log.Panicln.
|
||||
func Panicln(v ...any) {
|
||||
Default().Panicln(v...)
|
||||
}
|
||||
|
||||
// Writer is a proxy for log.Writer.
|
||||
func Writer() io.Writer {
|
||||
return Default().Writer()
|
||||
}
|
||||
|
||||
// Output is a proxy for log.Output.
|
||||
func Output(calldepth int, s string) error {
|
||||
return Default().Output(calldepth+1, s)
|
||||
}
|
||||
|
||||
// SetOutput is a proxy for log.SetOutput.
|
||||
func SetOutput(w io.Writer) {
|
||||
Default().SetOutput(w)
|
||||
}
|
||||
|
||||
// Flags is a proxy for log.Flags.
|
||||
func Flags() int {
|
||||
return Default().Flags()
|
||||
}
|
||||
|
||||
// SetFlags is a proxy for log.SetFlags.
|
||||
func SetFlags(flag int) {
|
||||
Default().SetFlags(flag)
|
||||
}
|
||||
|
||||
// Prefix is a proxy for log.Prefix.
|
||||
func Prefix() string {
|
||||
return Default().Prefix()
|
||||
}
|
||||
|
||||
// SetPrefix is a proxy for log.SetPrefix.
|
||||
func SetPrefix(prefix string) {
|
||||
Default().SetPrefix(prefix)
|
||||
}
|
||||
30
internal/olog/var.go
Normal file
30
internal/olog/var.go
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
package olog
|
||||
|
||||
import (
|
||||
"io"
|
||||
"log"
|
||||
"sync/atomic"
|
||||
)
|
||||
|
||||
var logger atomic.Pointer[log.Logger]
|
||||
|
||||
func init() {
|
||||
SetDefault(nil)
|
||||
}
|
||||
|
||||
// SetDefault sets the default logger to the provided logger. When nil is passed,
|
||||
// the default logger is set to a no-op logger that discards all log messages.
|
||||
func SetDefault(l *log.Logger) {
|
||||
if l == nil {
|
||||
logger.Store(log.New(io.Discard, "", 0))
|
||||
return
|
||||
}
|
||||
|
||||
logger.Store(l)
|
||||
}
|
||||
|
||||
// Default returns the default logger. If no logger has been set, it returns a
|
||||
// no-op logger that discards all log messages.
|
||||
func Default() *log.Logger {
|
||||
return logger.Load()
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue