log

package
v1.1.0-rc4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 4, 2022 License: Apache-2.0 Imports: 16 Imported by: 0

README

log

重新定义标准日志接口,可以灵活适配各种日志框架。

Install

go get github.com/go-spring/spring-base@v1.1.0-rc2 

Import

import "github.com/go-spring/spring-base/log"

Example

log.SetLevel(log.TraceLevel)
defer log.Reset()

log.Trace("a", "=", "1")
log.Tracef("a=%d", 1)

log.Trace(func() []interface{} {
    return log.T("a", "=", "1")
})

log.Tracef("a=%d", func() []interface{} {
    return log.T(1)
})

...
ctx := context.WithValue(context.TODO(), traceIDKey, "0689")

log.SetLevel(log.TraceLevel)
log.SetOutput(myOutput)
defer log.Reset()

logger := log.Ctx(ctx)
logger.Trace("level:", "trace")
logger.Tracef("level:%s", "trace")

...

logger = log.Tag("__in")
logger.Ctx(ctx).Trace("level:", "trace")
logger.Ctx(ctx).Tracef("level:%s", "trace")

...

Documentation

Overview

Package log is a generated GoMock package.

Index

Constants

View Source
const (
	NoneLevel  = Level(-1)
	TraceLevel = Level(0)
	DebugLevel = Level(1)
	InfoLevel  = Level(2)
	WarnLevel  = Level(3)
	ErrorLevel = Level(4)
	PanicLevel = Level(5)
	FatalLevel = Level(6)
	OffLevel   = Level(7)
)
View Source
const RootLoggerName = "Root"

Variables

This section is empty.

Functions

func Caller

func Caller(skip int, fast bool) (file string, line int, loaded bool)

Caller 获取调用点的文件及行号信息,fast 为 true 时使用缓存进行加速。

func Debug

func Debug(args ...interface{})

Debug 输出 DEBUG 级别的日志。

func Debugf

func Debugf(format string, args ...interface{})

Debugf 输出 DEBUG 级别的日志。

func Error

func Error(args ...interface{})

Error 输出 ERROR 级别的日志。

func Errorf

func Errorf(format string, args ...interface{})

Errorf 输出 ERROR 级别的日志。

func Fatal

func Fatal(args ...interface{})

Fatal 输出 FATAL 级别的日志。

func Fatalf

func Fatalf(format string, args ...interface{})

Fatalf 输出 FATAL 级别的日志。

func Info

func Info(args ...interface{})

Info 输出 INFO 级别的日志。

func Infof

func Infof(format string, args ...interface{})

Infof 输出 INFO 级别的日志。

func Load

func Load(configFile string) error

Load 加载日志配置文件。

func Panic

func Panic(args ...interface{})

Panic 输出 PANIC 级别的日志。

func Panicf

func Panicf(format string, args ...interface{})

Panicf 输出 PANIC 级别的日志。

func RegisterAppenderFactory

func RegisterAppenderFactory(appender string, factory AppenderFactory)

RegisterAppenderFactory 注册 Appender 工厂。

func SetDefaultContext

func SetDefaultContext(ctx context.Context)

SetDefaultContext 设置默认的 context.Context 对象。

func SetLevel

func SetLevel(level Level)

SetLevel 设置日志输出等级。

func Trace

func Trace(args ...interface{})

Trace 输出 TRACE 级别的日志。

func Tracef

func Tracef(format string, args ...interface{})

Tracef 输出 TRACE 级别的日志。

func Warn

func Warn(args ...interface{})

Warn 输出 WARN 级别的日志。

func Warnf

func Warnf(format string, args ...interface{})

Warnf 输出 WARN 级别的日志。

Types

type Appender

type Appender interface {
	Append(msg *Message)
}

Appender 定义日志输出目标。

type AppenderConfig

type AppenderConfig interface {
	GetName() string
}

type AppenderFactory

type AppenderFactory interface {
	NewAppenderConfig() AppenderConfig
	NewAppender(config AppenderConfig) (Appender, error)
}

AppenderFactory 定义 Appender 工厂。

type BaseEntry

type BaseEntry struct {
	// contains filtered or unexported fields
}

func WithSkip

func WithSkip(n int) BaseEntry

WithSkip 创建包含 skip 信息的 Entry 。

func WithTag

func WithTag(tag string) BaseEntry

WithTag 创建包含 tag 信息的 Entry 。

func (*BaseEntry) Context

func (e *BaseEntry) Context() context.Context

func (BaseEntry) Debug

func (e BaseEntry) Debug(args ...interface{})

Debug 输出 DEBUG 级别的日志。

func (BaseEntry) Debugf

func (e BaseEntry) Debugf(format string, args ...interface{})

Debugf 输出 DEBUG 级别的日志。

func (*BaseEntry) Errno

func (e *BaseEntry) Errno() Errno

func (BaseEntry) Error

func (e BaseEntry) Error(args ...interface{})

Error 输出 ERROR 级别的日志。

func (BaseEntry) Errorf

func (e BaseEntry) Errorf(format string, args ...interface{})

Errorf 输出 ERROR 级别的日志。

func (BaseEntry) Fatal

func (e BaseEntry) Fatal(args ...interface{})

Fatal 输出 FATAL 级别的日志。

func (BaseEntry) Fatalf

func (e BaseEntry) Fatalf(format string, args ...interface{})

Fatalf 输出 FATAL 级别的日志。

func (BaseEntry) Info

func (e BaseEntry) Info(args ...interface{})

Info 输出 INFO 级别的日志。

func (BaseEntry) Infof

func (e BaseEntry) Infof(format string, args ...interface{})

Infof 输出 INFO 级别的日志。

func (*BaseEntry) Logger

func (e *BaseEntry) Logger() *Logger

func (BaseEntry) Panic

func (e BaseEntry) Panic(args ...interface{})

Panic 输出 PANIC 级别的日志。

func (BaseEntry) Panicf

func (e BaseEntry) Panicf(format string, args ...interface{})

Panicf 输出 PANIC 级别的日志。

func (*BaseEntry) Skip

func (e *BaseEntry) Skip() int

func (*BaseEntry) Tag

func (e *BaseEntry) Tag() string

func (BaseEntry) Trace

func (e BaseEntry) Trace(args ...interface{})

Trace 输出 TRACE 级别的日志。

func (BaseEntry) Tracef

func (e BaseEntry) Tracef(format string, args ...interface{})

Tracef 输出 TRACE 级别的日志。

func (BaseEntry) Warn

func (e BaseEntry) Warn(args ...interface{})

Warn 输出 WARN 级别的日志。

func (BaseEntry) Warnf

func (e BaseEntry) Warnf(format string, args ...interface{})

Warnf 输出 WARN 级别的日志。

func (BaseEntry) WithContext

func (e BaseEntry) WithContext(ctx context.Context) CtxEntry

func (BaseEntry) WithSkip

func (e BaseEntry) WithSkip(n int) BaseEntry

func (BaseEntry) WithTag

func (e BaseEntry) WithTag(tag string) BaseEntry

type ConsoleAppender

type ConsoleAppender struct {
	// contains filtered or unexported fields
}

func NewConsoleAppender

func NewConsoleAppender(config *ConsoleAppenderConfig) *ConsoleAppender

func (*ConsoleAppender) Append

func (c *ConsoleAppender) Append(msg *Message)

type ConsoleAppenderConfig

type ConsoleAppenderConfig struct {
	Name string `xml:"name,attr"`
}

func (*ConsoleAppenderConfig) GetName

func (c *ConsoleAppenderConfig) GetName() string

type ConsoleAppenderFactory

type ConsoleAppenderFactory struct{}

func (*ConsoleAppenderFactory) NewAppender

func (f *ConsoleAppenderFactory) NewAppender(config AppenderConfig) (Appender, error)

func (*ConsoleAppenderFactory) NewAppenderConfig

func (f *ConsoleAppenderFactory) NewAppenderConfig() AppenderConfig

type CtxEntry

type CtxEntry struct {
	// contains filtered or unexported fields
}

func WithContext

func WithContext(ctx context.Context) CtxEntry

WithContext 创建包含 context.Context 对象的 Entry 。

func (*CtxEntry) Context

func (e *CtxEntry) Context() context.Context

func (CtxEntry) Debug

func (e CtxEntry) Debug(args ...interface{})

Debug 输出 DEBUG 级别的日志。

func (CtxEntry) Debugf

func (e CtxEntry) Debugf(format string, args ...interface{})

Debugf 输出 DEBUG 级别的日志。

func (*CtxEntry) Errno

func (e *CtxEntry) Errno() Errno

func (CtxEntry) Error

func (e CtxEntry) Error(errno Errno, args ...interface{})

Error 输出 ERROR 级别的日志。

func (CtxEntry) Errorf

func (e CtxEntry) Errorf(errno Errno, format string, args ...interface{})

Errorf 输出 ERROR 级别的日志。

func (CtxEntry) Fatal

func (e CtxEntry) Fatal(args ...interface{})

Fatal 输出 FATAL 级别的日志。

func (CtxEntry) Fatalf

func (e CtxEntry) Fatalf(format string, args ...interface{})

Fatalf 输出 FATAL 级别的日志。

func (CtxEntry) Info

func (e CtxEntry) Info(args ...interface{})

Info 输出 INFO 级别的日志。

func (CtxEntry) Infof

func (e CtxEntry) Infof(format string, args ...interface{})

Infof 输出 INFO 级别的日志。

func (*CtxEntry) Logger

func (e *CtxEntry) Logger() *Logger

func (CtxEntry) Panic

func (e CtxEntry) Panic(args ...interface{})

Panic 输出 PANIC 级别的日志。

func (CtxEntry) Panicf

func (e CtxEntry) Panicf(format string, args ...interface{})

Panicf 输出 PANIC 级别的日志。

func (*CtxEntry) Skip

func (e *CtxEntry) Skip() int

func (*CtxEntry) Tag

func (e *CtxEntry) Tag() string

func (CtxEntry) Trace

func (e CtxEntry) Trace(args ...interface{})

Trace 输出 TRACE 级别的日志。

func (CtxEntry) Tracef

func (e CtxEntry) Tracef(format string, args ...interface{})

Tracef 输出 TRACE 级别的日志。

func (CtxEntry) Warn

func (e CtxEntry) Warn(args ...interface{})

Warn 输出 WARN 级别的日志。

func (CtxEntry) Warnf

func (e CtxEntry) Warnf(format string, args ...interface{})

Warnf 输出 WARN 级别的日志。

func (CtxEntry) WithSkip

func (e CtxEntry) WithSkip(n int) CtxEntry

func (CtxEntry) WithTag

func (e CtxEntry) WithTag(tag string) CtxEntry

type Entry

type Entry interface {
	Logger() *Logger
	Skip() int
	Tag() string
	Errno() Errno
	Context() context.Context
}

type Errno

type Errno interface {
	Msg() string
	Code() uint32
}
var (
	OK    Errno = &errno{project: 0, code: 0, message: "OK"}
	ERROR Errno = &errno{project: 999, code: 999, message: "ERROR"}
)

func NewErrno

func NewErrno(project uint32, code uint16, msg string) Errno

type Level

type Level int32

Level 日志输出级别。

func StringToLevel

func StringToLevel(str string) Level

func (Level) String

func (level Level) String() string

type Logger

type Logger struct {
	// contains filtered or unexported fields
}

func GetLogger

func GetLogger(name ...string) *Logger

GetLogger 获取名为 name 的 *Logger 对象。

func NewLogger

func NewLogger(name string, config *LoggerConfig) *Logger

func (*Logger) Debug

func (l *Logger) Debug(args ...interface{})

Debug 输出 DEBUG 级别的日志。

func (*Logger) Debugf

func (l *Logger) Debugf(format string, args ...interface{})

Debugf 输出 DEBUG 级别的日志。

func (*Logger) Error

func (l *Logger) Error(args ...interface{})

Error 输出 ERROR 级别的日志。

func (*Logger) Errorf

func (l *Logger) Errorf(format string, args ...interface{})

Errorf 输出 ERROR 级别的日志。

func (*Logger) Fatal

func (l *Logger) Fatal(args ...interface{})

Fatal 输出 FATAL 级别的日志。

func (*Logger) Fatalf

func (l *Logger) Fatalf(format string, args ...interface{})

Fatalf 输出 FATAL 级别的日志。

func (*Logger) Info

func (l *Logger) Info(args ...interface{})

Info 输出 INFO 级别的日志。

func (*Logger) Infof

func (l *Logger) Infof(format string, args ...interface{})

Infof 输出 INFO 级别的日志。

func (*Logger) Name

func (l *Logger) Name() string

func (*Logger) Panic

func (l *Logger) Panic(args ...interface{})

Panic 输出 PANIC 级别的日志。

func (*Logger) Panicf

func (l *Logger) Panicf(format string, args ...interface{})

Panicf 输出 PANIC 级别的日志。

func (*Logger) SetLevel

func (l *Logger) SetLevel(level Level)

func (*Logger) Trace

func (l *Logger) Trace(args ...interface{})

Trace 输出 TRACE 级别的日志。

func (*Logger) Tracef

func (l *Logger) Tracef(format string, args ...interface{})

Tracef 输出 TRACE 级别的日志。

func (*Logger) Warn

func (l *Logger) Warn(args ...interface{})

Warn 输出 WARN 级别的日志。

func (*Logger) Warnf

func (l *Logger) Warnf(format string, args ...interface{})

Warnf 输出 WARN 级别的日志。

func (*Logger) WithContext

func (l *Logger) WithContext(ctx context.Context) CtxEntry

WithContext 创建包含 context.Context 对象的 Entry 。

func (*Logger) WithSkip

func (l *Logger) WithSkip(n int) BaseEntry

WithSkip 创建包含 skip 信息的 Entry 。

func (*Logger) WithTag

func (l *Logger) WithTag(tag string) BaseEntry

WithTag 创建包含 tag 信息的 Entry 。

type LoggerConfig

type LoggerConfig struct {
	Level     Level
	Appenders []Appender
}

type Message

type Message struct {
	// contains filtered or unexported fields
}

Message 定义日志消息。

func (*Message) Args

func (msg *Message) Args() []interface{}

func (*Message) Context

func (msg *Message) Context() context.Context

func (*Message) Errno

func (msg *Message) Errno() Errno

func (*Message) File

func (msg *Message) File() string

func (*Message) Level

func (msg *Message) Level() Level

func (*Message) Line

func (msg *Message) Line() int

func (*Message) Tag

func (msg *Message) Tag() string

func (*Message) Time

func (msg *Message) Time() time.Time

type MessageBuilder

type MessageBuilder struct {
	Level Level
	Time  time.Time
	Ctx   context.Context
	Tag   string
	File  string
	Line  int
	Args  []interface{}
	Errno Errno
}

func NewMessageBuilder

func NewMessageBuilder() *MessageBuilder

func (*MessageBuilder) Build

func (b *MessageBuilder) Build() *Message

func (*MessageBuilder) WithArgs

func (b *MessageBuilder) WithArgs(args []interface{}) *MessageBuilder

func (*MessageBuilder) WithContext

func (b *MessageBuilder) WithContext(ctx context.Context) *MessageBuilder

func (*MessageBuilder) WithErrno

func (b *MessageBuilder) WithErrno(errno Errno) *MessageBuilder

func (*MessageBuilder) WithFile

func (b *MessageBuilder) WithFile(file string) *MessageBuilder

func (*MessageBuilder) WithLevel

func (b *MessageBuilder) WithLevel(level Level) *MessageBuilder

func (*MessageBuilder) WithLine

func (b *MessageBuilder) WithLine(line int) *MessageBuilder

func (*MessageBuilder) WithTag

func (b *MessageBuilder) WithTag(tag string) *MessageBuilder

func (*MessageBuilder) WithTime

func (b *MessageBuilder) WithTime(time time.Time) *MessageBuilder

type MockAppender

type MockAppender struct {
	// contains filtered or unexported fields
}

MockAppender is a mock of Appender interface.

func NewMockAppender

func NewMockAppender(ctrl *gomock.Controller) *MockAppender

NewMockAppender creates a new mock instance.

func (*MockAppender) Append

func (m *MockAppender) Append(msg *Message)

Append mocks base method.

func (*MockAppender) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

type MockAppenderMockRecorder

type MockAppenderMockRecorder struct {
	// contains filtered or unexported fields
}

MockAppenderMockRecorder is the mock recorder for MockAppender.

func (*MockAppenderMockRecorder) Append

func (mr *MockAppenderMockRecorder) Append(msg interface{}) *gomock.Call

Append indicates an expected call of Append.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL