status-go/vendor/github.com/ipfs/go-log/oldlog.go

69 lines
1.7 KiB
Go

package log
import (
tracer "github.com/ipfs/go-log/tracer"
lwriter "github.com/ipfs/go-log/writer"
"os"
opentrace "github.com/opentracing/opentracing-go"
log2 "github.com/ipfs/go-log/v2"
)
func init() {
SetupLogging()
}
// Logging environment variables
const (
envTracingFile = "GOLOG_TRACING_FILE" // /path/to/file
)
func SetupLogging() {
// We're importing V2. Given that we setup logging on init, we should be
// fine skipping the rest of the initialization.
// TracerPlugins are instantiated after this, so use loggable tracer
// by default, if a TracerPlugin is added it will override this
lgblRecorder := tracer.NewLoggableRecorder()
lgblTracer := tracer.New(lgblRecorder)
opentrace.SetGlobalTracer(lgblTracer)
if tracingfp := os.Getenv(envTracingFile); len(tracingfp) > 0 {
f, err := os.Create(tracingfp)
if err != nil {
log.Error("failed to create tracing file: %s", tracingfp)
} else {
lwriter.WriterGroup.AddWriter(f)
}
}
}
// SetDebugLogging calls SetAllLoggers with logging.DEBUG
func SetDebugLogging() {
log2.SetDebugLogging()
}
// SetAllLoggers changes the logging level of all loggers to lvl
func SetAllLoggers(lvl LogLevel) {
log2.SetAllLoggers(lvl)
}
// SetLogLevel changes the log level of a specific subsystem
// name=="*" changes all subsystems
func SetLogLevel(name, level string) error {
return log2.SetLogLevel(name, level)
}
// SetLogLevelRegex sets all loggers to level `l` that match expression `e`.
// An error is returned if `e` fails to compile.
func SetLogLevelRegex(e, l string) error {
return log2.SetLogLevelRegex(e, l)
}
// GetSubsystems returns a slice containing the
// names of the current loggers
func GetSubsystems() []string {
return log2.GetSubsystems()
}