141 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			141 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Package logger provides a log interface
 | |
| package logger // import "go.unistack.org/micro/v3/logger"
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"os"
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// DefaultLogger variable
 | |
| 	DefaultLogger = NewLogger(WithLevel(ParseLevel(os.Getenv("MICRO_LOG_LEVEL"))))
 | |
| 	// DefaultLevel used by logger
 | |
| 	DefaultLevel = InfoLevel
 | |
| 	// DefaultCallerSkipCount used by logger
 | |
| 	DefaultCallerSkipCount = 2
 | |
| )
 | |
| 
 | |
| // Logger is a generic logging interface
 | |
| type Logger interface {
 | |
| 	// Init initialises options
 | |
| 	Init(opts ...Option) error
 | |
| 	// Clone create logger copy with new options
 | |
| 	Clone(opts ...Option) Logger
 | |
| 	// V compare provided verbosity level with current log level
 | |
| 	V(level Level) bool
 | |
| 	// Level sets the log level for logger
 | |
| 	Level(level Level)
 | |
| 	// The Logger options
 | |
| 	Options() Options
 | |
| 	// Fields set fields to always be logged with keyval pairs
 | |
| 	Fields(fields ...interface{}) Logger
 | |
| 	// Info level message
 | |
| 	Info(ctx context.Context, args ...interface{})
 | |
| 	// Trace level message
 | |
| 	Trace(ctx context.Context, args ...interface{})
 | |
| 	// Debug level message
 | |
| 	Debug(ctx context.Context, args ...interface{})
 | |
| 	// Warn level message
 | |
| 	Warn(ctx context.Context, args ...interface{})
 | |
| 	// Error level message
 | |
| 	Error(ctx context.Context, args ...interface{})
 | |
| 	// Fatal level message
 | |
| 	Fatal(ctx context.Context, args ...interface{})
 | |
| 	// Infof level message
 | |
| 	Infof(ctx context.Context, msg string, args ...interface{})
 | |
| 	// Tracef level message
 | |
| 	Tracef(ctx context.Context, msg string, args ...interface{})
 | |
| 	// Debug level message
 | |
| 	Debugf(ctx context.Context, msg string, args ...interface{})
 | |
| 	// Warn level message
 | |
| 	Warnf(ctx context.Context, msg string, args ...interface{})
 | |
| 	// Error level message
 | |
| 	Errorf(ctx context.Context, msg string, args ...interface{})
 | |
| 	// Fatal level message
 | |
| 	Fatalf(ctx context.Context, msg string, args ...interface{})
 | |
| 	// Log logs message with needed level
 | |
| 	Log(ctx context.Context, level Level, args ...interface{})
 | |
| 	// Logf logs message with needed level
 | |
| 	Logf(ctx context.Context, level Level, msg string, args ...interface{})
 | |
| 	// String returns the name of logger
 | |
| 	String() string
 | |
| }
 | |
| 
 | |
| // Field contains keyval pair
 | |
| type Field interface{}
 | |
| 
 | |
| // Info writes msg to default logger on info level
 | |
| func Info(ctx context.Context, args ...interface{}) {
 | |
| 	DefaultLogger.Info(ctx, args...)
 | |
| }
 | |
| 
 | |
| // Error writes msg to default logger on error level
 | |
| func Error(ctx context.Context, args ...interface{}) {
 | |
| 	DefaultLogger.Error(ctx, args...)
 | |
| }
 | |
| 
 | |
| // Debug writes msg to default logger on debug level
 | |
| func Debug(ctx context.Context, args ...interface{}) {
 | |
| 	DefaultLogger.Debug(ctx, args...)
 | |
| }
 | |
| 
 | |
| // Warn writes msg to default logger on warn level
 | |
| func Warn(ctx context.Context, args ...interface{}) {
 | |
| 	DefaultLogger.Warn(ctx, args...)
 | |
| }
 | |
| 
 | |
| // Trace writes msg to default logger on trace level
 | |
| func Trace(ctx context.Context, args ...interface{}) {
 | |
| 	DefaultLogger.Trace(ctx, args...)
 | |
| }
 | |
| 
 | |
| // Fatal writes msg to default logger on fatal level
 | |
| func Fatal(ctx context.Context, args ...interface{}) {
 | |
| 	DefaultLogger.Fatal(ctx, args...)
 | |
| }
 | |
| 
 | |
| // Infof writes formatted msg to default logger on info level
 | |
| func Infof(ctx context.Context, msg string, args ...interface{}) {
 | |
| 	DefaultLogger.Infof(ctx, msg, args...)
 | |
| }
 | |
| 
 | |
| // Errorf writes formatted msg to default logger on error level
 | |
| func Errorf(ctx context.Context, msg string, args ...interface{}) {
 | |
| 	DefaultLogger.Errorf(ctx, msg, args...)
 | |
| }
 | |
| 
 | |
| // Debugf writes formatted msg to default logger on debug level
 | |
| func Debugf(ctx context.Context, msg string, args ...interface{}) {
 | |
| 	DefaultLogger.Debugf(ctx, msg, args...)
 | |
| }
 | |
| 
 | |
| // Warnf writes formatted msg to default logger on warn level
 | |
| func Warnf(ctx context.Context, msg string, args ...interface{}) {
 | |
| 	DefaultLogger.Warnf(ctx, msg, args...)
 | |
| }
 | |
| 
 | |
| // Tracef writes formatted msg to default logger on trace level
 | |
| func Tracef(ctx context.Context, msg string, args ...interface{}) {
 | |
| 	DefaultLogger.Tracef(ctx, msg, args...)
 | |
| }
 | |
| 
 | |
| // Fatalf writes formatted msg to default logger on fatal level
 | |
| func Fatalf(ctx context.Context, msg string, args ...interface{}) {
 | |
| 	DefaultLogger.Fatalf(ctx, msg, args...)
 | |
| }
 | |
| 
 | |
| // V returns true if passed level enabled in default logger
 | |
| func V(level Level) bool {
 | |
| 	return DefaultLogger.V(level)
 | |
| }
 | |
| 
 | |
| // Init initialize logger
 | |
| func Init(opts ...Option) error {
 | |
| 	return DefaultLogger.Init(opts...)
 | |
| }
 | |
| 
 | |
| // Fields create logger with specific fields
 | |
| func Fields(fields ...interface{}) Logger {
 | |
| 	return DefaultLogger.Fields(fields...)
 | |
| }
 |