Documentation ¶
Index ¶
- Constants
- func Debugf(ctx context.Context, fmt string, args ...interface{})
- func Errorf(ctx context.Context, fmt string, args ...interface{})
- func Fatalf(ctx context.Context, fmt string, args ...interface{})
- func Flush() error
- func Infof(ctx context.Context, fmt string, args ...interface{})
- func Init(config *Config)
- func Printf(ctx context.Context, fmt string, args ...interface{})
- func Rotate() error
- func Tracef(ctx context.Context, fmt string, args ...interface{})
- func Warnf(ctx context.Context, fmt string, args ...interface{})
- func WithMoreInfo(ctx context.Context, info ...Info) context.Context
- func WithTag(ctx context.Context, tag string) context.Context
- type AsyncWriter
- type Config
- type Info
- type Level
- type Logger
Constants ¶
View Source
const ( // DefaultLogPath 日志文件的默认路径。 DefaultLogPath = "./log/all.log" // DefaultLogLevel 是日志的默认级别。 DefaultLogLevel = "info" // DefaultErrorLogPath 错误日志文件的默认路径。 DefaultErrorLogPath = "./log/error.log" // DefaultErrorLogLevel 是错误日志的默认级别。 DefaultErrorLogLevel = "warn" // DefaultBufferedLines 是内存中缓存的日志行数。 DefaultBufferedLines = 1 << 18 )
Variables ¶
This section is empty.
Functions ¶
func WithMoreInfo ¶
WithMoreInfo 在 ctx 里面保存更多的信息,可以自动在输出 log 时候将这些信息以 k=v 形式输出。
Types ¶
type AsyncWriter ¶
type AsyncWriter struct {
// contains filtered or unexported fields
}
AsyncWriter 包装了一个 writer,让所有写入变成异步写。
func NewAsyncWriter ¶
func NewAsyncWriter(writer io.WriteCloser, size int) *AsyncWriter
NewAsyncWriter 创建一个异步 writer,使用 size 作为缓冲区的条数。
func (*AsyncWriter) Close ¶
func (w *AsyncWriter) Close() error
Close 关闭 w,释放内部的 writer,并且关闭刷数据的 goroutine。 这个函数会在所有数据写入之后再返回,缓冲区比较满的时候会花较长时间返回。
type Config ¶
type Config struct { LogPath string `config:"log_path"` // LogPath 是日志文件名,默认写到 DefaultLogPath 里面。 LogLevel string `config:"log_level"` // LogLevel 是日志级别,默认是 DefaultLogLevel。 ErrorLogPath string `config:"error_log_path"` // ErrorLogPath 是错误日志文件名,默认写到 DefaultErrorLogPath 里面。 ErrorLogLevel string `config:"error_log_level"` // ErrorLogLevel 是错误日志级别,当错误级别不大于这个级别时写入错误日志,默认是 DefaultErrorLogLevel。 PackagePrefix string `config:"package_prefix"` // PackagePrefix 设置最常用的 package 前缀,输出调用栈的时候会用 "." 代替这一长串字符,让日志看起来更简洁。 BufferedLines int `config:"buffered_lines"` // BufferedLines 设置最多在内存中缓存的日志行数,默认是 DefaultBufferedLines。 }
Config 代表日志配置。
type Logger ¶
type Logger interface { io.Closer // Debugf 输出调试日志,默认情况日志级别下不会输出,通过修改配置中的 LogLevel,将级别设置为 LogDebug 来显示这个级别的日志。 Debugf(ctx context.Context, fmt string, args ...interface{}) // Infof 输出普通日志,通常的业务日志多数都为这种格式。 Infof(ctx context.Context, fmt string, args ...interface{}) // Tracef 输出跟踪日志,一般框架使用,用于输出一些可以在日志采集中使用的结构化日志。 Tracef(ctx context.Context, fmt string, args ...interface{}) // Warnf 输出告警日志,如果程序走到了一些不预期的分支,需要人工关注,应该用这个级别。 Warnf(ctx context.Context, fmt string, args ...interface{}) // Errorf 输出错误日志,如果程序发生了严重错误,应该用这个级别。 Errorf(ctx context.Context, fmt string, args ...interface{}) // Fatalf 直接终止程序,在业务中几乎用不到这种日志,一般只在程序启动的时候用作快速返回。 Fatalf(ctx context.Context, fmt string, args ...interface{}) // Printf 可以无视日志级别,始终对外输出日志,一般只用于框架,业务不使用。 Printf(ctx context.Context, fmt string, args ...interface{}) }
Logger 代表一个标准日志接口。
Click to show internal directories.
Click to hide internal directories.