dlog

package
v0.1.9 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2021 License: MIT Imports: 25 Imported by: 0

Documentation

Overview

Example (Context)
package main

import (
	"context"
	"github.com/osgochina/donkeygo/os/dlog"
)

func main() {
	ctx := context.WithValue(context.Background(), "Trace-Id", "123456789")
	dlog.Ctx(ctx).Error("runtime error")

	// May Output:
	// 2020-06-08 20:17:03.630 [ERRO] {Trace-Id: 123456789} runtime error
	// Stack:
	// ...
}
Output:

Index

Examples

Constants

View Source
const (
	FAsync     = 1 << iota              // 异步打印日志内容
	FFileLong                           // 打印完整的文件名和行号: /a/b/c/d.go:23.
	FFileShort                          // 打印最终的文件名和行号: d.go:23. 覆盖 FFileLong.
	FTimeDate                           // 打印当地时区的日期信息: 2009-01-23.
	FTimeTime                           // 打印当地时区的时间信息: 01:23:23.
	FTimeMilli                          // 以当地时间的毫秒为单位打印信息: 01:23:23.675.
	FCallerFn                           // 打印调用这的函数名及包名: main.main
	FTimeStd   = FTimeDate | FTimeMilli //标准时间格式
)
View Source
const (
	// LevelAll 所有级别都匹配
	LevelAll = LevelDebug | LevelInfo | LevelNotice | LevelWarning | LevelError | LevelCritical
	// LevelDev 开发状态的日志级别,所有级别都匹配
	LevelDev = LevelAll
	// LevelProd 线上生产环节的日志级别
	LevelProd = LevelWarning | LevelError | LevelCritical
	// LevelDebug debug模式的日志级别
	LevelDebug = 1 << iota // 8
	// LevelInfo 打印详情
	LevelInfo // 16
	// LevelNotice 注意提醒级别
	LevelNotice // 32
	// LevelWarning  警告级别
	LevelWarning // 64
	// LevelError 错误
	LevelError // 128
	// LevelCritical 至关重要的日志
	LevelCritical // 256
	// LevelPanic Panic 错误
	LevelPanic // 512
	// LevelFatal 致命错误
	LevelFatal // 1024
)

日志级别

View Source
const (
	// DefaultName Default group name for instance usage.
	DefaultName = "default"
)

Variables

This section is empty.

Functions

func Critical added in v0.0.3

func Critical(v ...interface{})

Critical 打印重要日志

func Criticalf added in v0.0.3

func Criticalf(format string, v ...interface{})

Criticalf 打印重要日志

func Debug added in v0.0.3

func Debug(v ...interface{})

Debug 打印debug日志

func Debugf added in v0.0.3

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

Debugf 打印debug日志

func Error added in v0.0.3

func Error(v ...interface{})

Error 打印错误日志

func Errorf added in v0.0.3

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

Errorf 打印错误日志

func Fatal added in v0.0.3

func Fatal(v ...interface{})

Fatal 打印致命日志,并且结束当前进程

func Fatalf added in v0.0.3

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

Fatalf 打印致命日志,并且结束当前进程

func GetCtxKeys added in v0.0.3

func GetCtxKeys() []interface{}

GetCtxKeys 获取上下文key

func GetFlags added in v0.0.3

func GetFlags() int

GetFlags 获取日志扩展标识

func GetLevel added in v0.0.3

func GetLevel() int

GetLevel 获取日志级别

func GetLevelPrefix added in v0.0.3

func GetLevelPrefix(level int) string

GetLevelPrefix 获取日志级别的前缀

func GetPath added in v0.0.3

func GetPath() string

GetPath 获取存储目录

func GetStack added in v0.0.3

func GetStack(skip ...int) string

GetStack 获取栈信息

func GetWriter added in v0.0.3

func GetWriter() io.Writer

GetWriter 获取当前的writer对象

func Info added in v0.0.3

func Info(v ...interface{})

Info 打印一行日志

func Infof added in v0.0.3

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

Infof 打印一行日志

func Notice added in v0.0.3

func Notice(v ...interface{})

Notice 打印通知日志

func Noticef added in v0.0.3

func Noticef(format string, v ...interface{})

Noticef 打印通知日志

func Panic added in v0.0.3

func Panic(v ...interface{})

Panic 打印重要日志,并且结束当前协程

func Panicf added in v0.0.3

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

Panicf 打印重要日志,并且结束当前协程

func Print added in v0.0.3

func Print(v ...interface{})

Print 打印日志

func PrintStack added in v0.0.3

func PrintStack(skip ...int)

PrintStack 打印栈堆层数

func Printf added in v0.0.3

func Printf(format string, v ...interface{})

Printf 打印日志

func Println added in v0.0.3

func Println(v ...interface{})

Println 打印一行日志

func SetAsync added in v0.0.3

func SetAsync(enabled bool)

SetAsync 设置异步写文件

func SetConfig added in v0.0.3

func SetConfig(config Config) error

SetConfig 设置配置信息

func SetConfigWithMap added in v0.0.3

func SetConfigWithMap(m map[string]interface{}) error

SetConfigWithMap 通过map格式设置配置信息

func SetCtxKeys added in v0.0.3

func SetCtxKeys(keys ...interface{})

SetCtxKeys 设置上下文key

func SetDebug added in v0.0.3

func SetDebug(debug bool)

SetDebug 开启debug

func SetDefaultLogger added in v0.0.3

func SetDefaultLogger(l *Logger)

SetDefaultLogger 设置默认的日志处理对象

func SetFile added in v0.0.3

func SetFile(pattern string)

SetFile 设置存储文件

func SetFlags added in v0.0.3

func SetFlags(flags int)

SetFlags 设置日志扩展标识

func SetHeaderPrint added in v0.0.3

func SetHeaderPrint(enabled bool)

SetHeaderPrint 设置日志头输出

func SetLevel added in v0.0.3

func SetLevel(level int)

SetLevel 设置日志级别

func SetLevelPrefix added in v0.0.3

func SetLevelPrefix(level int, prefix string)

SetLevelPrefix 设置日志级别前缀

func SetLevelPrefixes added in v0.0.3

func SetLevelPrefixes(prefixes map[int]string)

SetLevelPrefixes 设置日志级别的前缀

func SetLevelStr added in v0.0.3

func SetLevelStr(levelStr string) error

SetLevelStr 通过字符串设置日志级别

func SetPath added in v0.0.3

func SetPath(path string) error

SetPath 设置存储目录

func SetPrefix added in v0.0.3

func SetPrefix(prefix string)

SetPrefix 设置日志前缀

func SetStack added in v0.0.3

func SetStack(enabled bool)

SetStack 开启栈堆打印

func SetStdoutPrint added in v0.0.3

func SetStdoutPrint(enabled bool)

SetStdoutPrint 设置标准输出

func SetWriter added in v0.0.3

func SetWriter(writer io.Writer)

SetWriter 设置自定义writer

func Warning added in v0.0.3

func Warning(v ...interface{})

Warning 打印警告日志

func Warningf added in v0.0.3

func Warningf(format string, v ...interface{})

Warningf 打印警告日志

Types

type Config

type Config struct {
	Writer               io.Writer      `json:"-"`                    // 定制 io.Writer.
	Flags                int            `json:"flags"`                // 用户记录日志的额外标识
	Path                 string         `json:"path"`                 // 日志目录地址
	File                 string         `json:"file"`                 // 当前日志需要保存的文件
	Level                int            `json:"level"`                // 日志的输出等级
	Prefix               string         `json:"prefix"`               // 每条日志的前缀
	StSkip               int            `json:"stSkip"`               // 跳过多少层栈堆不用打印
	StStatus             int            `json:"stStatus"`             // 是否打开栈堆信息 1:打开,0关闭,默认是打开
	StFilter             string         `json:"stFilter"`             // 栈堆字符串过滤
	CtxKeys              []interface{}  `json:"ctxKeys"`              // 用于日志记录的上下文键,用于从上下文检索值。
	StdoutPrint          bool           `json:"stdout"`               // 开启日志的标准输出,默认是true.
	HeaderPrint          bool           `json:"header"`               // 打印日志标题,默认是true
	LevelPrefixes        map[int]string `json:"levelPrefixes"`        // 日志级别的前缀映射
	RotateCheckInterval  time.Duration  `json:"rotateCheckInterval"`  // 每隔多久检查一下日志文件,看看日志文件是否需要压缩备份。默认是1小时
	RotateSize           int64          `json:"rotateSize"`           // 如果日志文件 size > RotateSize 则旋转日志.
	RotateExpire         time.Duration  `json:"rotateExpire"`         // 如果日志文件的最后更新日志大于RotateExpire则旋转日志。
	RotateBackupLimit    int            `json:"rotateBackupLimit"`    // 最大旋转备份的文件数量,默认是0,意味着没有备份.
	RotateBackupExpire   time.Duration  `json:"rotateBackupExpire"`   // 旋转文件的最大过期时间,默认是0,意味着不过期。
	RotateBackupCompress int            `json:"rotateBackupCompress"` // 使用gzip算法压缩旋转文件的级别。默认值是0,表示没有压缩。
}

Config 日志的配置信息

func DefaultConfig

func DefaultConfig() Config

DefaultConfig 生成默认配置信息

type Logger

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

Logger 日志对象

func Async added in v0.0.3

func Async(enabled ...bool) *Logger

Async 是否异步写日志

func Cat added in v0.0.3

func Cat(category string) *Logger

Cat 设置日志分类

func Ctx added in v0.0.3

func Ctx(ctx context.Context, keys ...interface{}) *Logger

Ctx 设置默认日志处理对象的上下文

func DefaultLogger added in v0.0.3

func DefaultLogger() *Logger

DefaultLogger 获取默认的日志处理对象

func Expose added in v0.0.3

func Expose() *Logger

Expose 返回默认日志处理对象

func File added in v0.0.3

func File(pattern string) *Logger

File 设置日志文件名

func Header(enabled ...bool) *Logger

Header 是否开启日志头

func Instance added in v0.0.3

func Instance(name ...string) *Logger

Instance 获取单例对象

func Level added in v0.0.3

func Level(level int) *Logger

Level 设置日志等级

func LevelStr added in v0.0.3

func LevelStr(levelStr string) *Logger

LevelStr 自然语言设置日志等级

func Line added in v0.0.3

func Line(long ...bool) *Logger

Line 日志是打印长文件信息还是短文件信息

func New

func New() *Logger

New 创建日志对象

func NewWithWriter added in v0.0.3

func NewWithWriter(writer io.Writer) *Logger

NewWithWriter 创建一个日志对象,使用传入的writer

func Path added in v0.0.3

func Path(path string) *Logger

Path 设置日志存储目录

func Skip added in v0.0.3

func Skip(skip int) *Logger

Skip debug栈堆跳过的层

func Stack added in v0.0.3

func Stack(enabled bool, skip ...int) *Logger

Stack 打印错误栈堆的参数

func StackWithFilter added in v0.0.3

func StackWithFilter(filter string) *Logger

StackWithFilter 打印错误栈堆的过滤字符串

func Stdout added in v0.0.3

func Stdout(enabled ...bool) *Logger

Stdout 是否打印到标准输出

func To added in v0.0.3

func To(writer io.Writer) *Logger

To 自定义writer

func (*Logger) Async added in v0.0.3

func (that *Logger) Async(enabled ...bool) *Logger

Async 设置是异步写文件还是同步写文件

func (*Logger) Cat added in v0.0.3

func (that *Logger) Cat(category string) *Logger

Cat 设置日志的指定输出层

func (*Logger) Clone added in v0.0.3

func (that *Logger) Clone() *Logger

Clone clone一个日志对象

func (*Logger) Critical added in v0.0.3

func (that *Logger) Critical(v ...interface{})

Critical 打印重要的日志

func (*Logger) Criticalf added in v0.0.3

func (that *Logger) Criticalf(format string, v ...interface{})

Criticalf 打印重要的日志

func (*Logger) Ctx added in v0.0.3

func (that *Logger) Ctx(ctx context.Context, keys ...interface{}) *Logger

Ctx 日志的上下文

func (*Logger) Debug added in v0.0.3

func (that *Logger) Debug(v ...interface{})

Debug 打印debug日志

func (*Logger) Debugf added in v0.0.3

func (that *Logger) Debugf(format string, v ...interface{})

Debugf 打印debug日志

func (*Logger) Error added in v0.0.3

func (that *Logger) Error(v ...interface{})

Error 打印错误日志

func (*Logger) Errorf added in v0.0.3

func (that *Logger) Errorf(format string, v ...interface{})

Errorf 打印错误日志

func (*Logger) Fatal added in v0.0.3

func (that *Logger) Fatal(v ...interface{})

Fatal 打印致命错误,并结束当前进程

func (*Logger) Fatalf added in v0.0.3

func (that *Logger) Fatalf(format string, v ...interface{})

Fatalf 格式化打印致命错误,并结束当前进程

func (*Logger) File added in v0.0.3

func (that *Logger) File(file string) *Logger

File 设置日志的输出文件

func (*Logger) GetCtxKeys added in v0.0.3

func (that *Logger) GetCtxKeys() []interface{}

GetCtxKeys 获取上下文记录的key值

func (*Logger) GetFlags added in v0.0.3

func (that *Logger) GetFlags() int

GetFlags 获取额外标识

func (*Logger) GetLevel added in v0.0.3

func (that *Logger) GetLevel() int

GetLevel 获取日志级别

func (*Logger) GetLevelPrefix added in v0.0.3

func (that *Logger) GetLevelPrefix(level int) string

GetLevelPrefix 获取指定日志级别的前缀

func (*Logger) GetPath added in v0.0.3

func (that *Logger) GetPath() string

GetPath 获取当前日志的写入路径

func (*Logger) GetStack added in v0.0.3

func (that *Logger) GetStack(skip ...int) string

GetStack 获取栈堆

func (*Logger) GetWriter added in v0.0.3

func (that *Logger) GetWriter() io.Writer

GetWriter 获取当前的日志写接口

func (*Logger) Header added in v0.0.3

func (that *Logger) Header(enabled ...bool) *Logger

Header 打印日志头

func (*Logger) Info added in v0.0.3

func (that *Logger) Info(v ...interface{})

Info 打印info日志

func (*Logger) Infof added in v0.0.3

func (that *Logger) Infof(format string, v ...interface{})

Infof 打印info日志

func (*Logger) Level added in v0.0.3

func (that *Logger) Level(level int) *Logger

Level 日志等级

func (*Logger) LevelStr added in v0.0.3

func (that *Logger) LevelStr(levelStr string) *Logger

LevelStr 通过可读的日志级别设置日志级别

func (*Logger) Line added in v0.0.3

func (that *Logger) Line(long ...bool) *Logger

Line 设置日志打印时候是显示详细的文件信息和行号还是显示简短的文件路径和行号

func (*Logger) Notice added in v0.0.3

func (that *Logger) Notice(v ...interface{})

Notice 打印提醒日志

func (*Logger) Noticef added in v0.0.3

func (that *Logger) Noticef(format string, v ...interface{})

Noticef 打印提醒日志

func (*Logger) Panic added in v0.0.3

func (that *Logger) Panic(v ...interface{})

Panic 打印日志并且 panic

func (*Logger) Panicf added in v0.0.3

func (that *Logger) Panicf(format string, v ...interface{})

Panicf 打印日志并且 panic

func (*Logger) Path added in v0.0.3

func (that *Logger) Path(path string) *Logger

Path 设置日志的路径

func (*Logger) Print added in v0.0.3

func (that *Logger) Print(v ...interface{})

Print 标准打印

func (*Logger) PrintStack added in v0.0.3

func (that *Logger) PrintStack(skip ...int)

PrintStack 打印栈堆

func (*Logger) Printf added in v0.0.3

func (that *Logger) Printf(format string, v ...interface{})

Printf prints <v> with format <format> using fmt.Sprintf. The parameter <v> can be multiple variables.

func (*Logger) Println added in v0.0.3

func (that *Logger) Println(v ...interface{})

Println is alias of Print. See Print.

func (*Logger) SetAsync added in v0.0.3

func (that *Logger) SetAsync(enabled bool)

SetAsync 设置写入日志到文件为异步模式

func (*Logger) SetConfig added in v0.0.3

func (that *Logger) SetConfig(config Config) error

SetConfig 设置日志的配置信息

func (*Logger) SetConfigWithMap added in v0.0.3

func (that *Logger) SetConfigWithMap(m map[string]interface{}) error

SetConfigWithMap 通过map传入配置信息

func (*Logger) SetCtxKeys added in v0.0.3

func (that *Logger) SetCtxKeys(keys ...interface{})

SetCtxKeys 设置日志的上下文键。键用于检索值 从上下文和打印到日志内容。

func (*Logger) SetDebug added in v0.0.3

func (that *Logger) SetDebug(debug bool)

SetDebug 开启日志级别为debug模式

func (*Logger) SetFile added in v0.0.3

func (that *Logger) SetFile(pattern string)

SetFile 日志的文件名

func (*Logger) SetFlags added in v0.0.3

func (that *Logger) SetFlags(flags int)

SetFlags 设置写日志信息的额外标识

func (*Logger) SetHeaderPrint added in v0.0.3

func (that *Logger) SetHeaderPrint(enabled bool)

SetHeaderPrint 是否打印日志头

func (*Logger) SetLevel added in v0.0.3

func (that *Logger) SetLevel(level int)

SetLevel 设置日志级别

func (*Logger) SetLevelPrefix added in v0.0.3

func (that *Logger) SetLevelPrefix(level int, prefix string)

SetLevelPrefix 设置各种日志级别对应的前缀

func (*Logger) SetLevelPrefixes added in v0.0.3

func (that *Logger) SetLevelPrefixes(prefixes map[int]string)

SetLevelPrefixes 设置各种日志级别对应的前缀

func (*Logger) SetLevelStr added in v0.0.3

func (that *Logger) SetLevelStr(levelStr string) error

SetLevelStr 通过可读字符串设置日志级别

func (*Logger) SetPath added in v0.0.3

func (that *Logger) SetPath(path string) error

SetPath 设置日志的路径

func (*Logger) SetPrefix added in v0.0.3

func (that *Logger) SetPrefix(prefix string)

SetPrefix 设置日志的前缀

func (*Logger) SetStack added in v0.0.3

func (that *Logger) SetStack(enabled bool)

SetStack 启动/禁用 日志输出的时候是否打印栈堆信息

func (*Logger) SetStackFilter added in v0.0.3

func (that *Logger) SetStackFilter(filter string)

SetStackFilter 设置栈堆字符串过滤器

func (*Logger) SetStackSkip added in v0.0.3

func (that *Logger) SetStackSkip(skip int)

SetStackSkip 设置打印栈堆信息的偏移量,从错误触发点开始算第几层

func (*Logger) SetStdoutPrint added in v0.0.3

func (that *Logger) SetStdoutPrint(enabled bool)

SetStdoutPrint 开启关闭日志的标准输出

func (*Logger) SetWriter added in v0.0.3

func (that *Logger) SetWriter(writer io.Writer)

SetWriter 设置自定义日志用于日志记录。 对象应该实现io.writer接口。 开发者可以使用自定义日志将日志输出重定向到另一个服务, 例如:kafka, mysql, mongodb等。

func (*Logger) Skip added in v0.0.3

func (that *Logger) Skip(skip int) *Logger

Skip 设置打印栈堆跳过的层级

func (*Logger) Stack added in v0.0.3

func (that *Logger) Stack(enabled bool, skip ...int) *Logger

Stack 设置栈堆参数

func (*Logger) StackWithFilter added in v0.0.3

func (that *Logger) StackWithFilter(filter string) *Logger

StackWithFilter 设置栈堆过滤字符串

func (*Logger) Stdout added in v0.0.3

func (that *Logger) Stdout(enabled ...bool) *Logger

Stdout 设置日志打印到标准输出,默认true

func (*Logger) To added in v0.0.3

func (that *Logger) To(writer io.Writer) *Logger

To 发送到自定义的writer

func (*Logger) Warning added in v0.0.3

func (that *Logger) Warning(v ...interface{})

Warning 打印警告日志

func (*Logger) Warningf added in v0.0.3

func (that *Logger) Warningf(format string, v ...interface{})

Warningf 打印警告日志

func (*Logger) Write added in v0.0.3

func (that *Logger) Write(p []byte) (n int, err error)

写入日志

Jump to

Keyboard shortcuts

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