logger

package module
v0.2.10 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2020 License: MIT Imports: 12 Imported by: 0

README

github.com/ohko/logger Codacy Badge

日志打印管理

  • 通过环境变量LOG_LEVEL可控制日志的输出等级
  • 支持不同等级日志颜色输出
  • 自定义输出终端
  • 自定义压缩按月/按日模式
  • 自定义过期日志删除
  • fork子Logger对象
  • 启动HTTP监听,动态调整LOG_LEVEL
// 默认仅显示在os.Stdout
ll := NewLogger(nil)
// 指定输出设备为os.Stdout
ll := NewLogger(os.Stdout)
// 使用内置的按日切割输出到文件
ll := NewLogger(NewDefaultWriter(nil))
// 内置的基础上同时显示在os.Stdout
ll := NewLogger(NewDefaultWriter(&DefaultWriterOption{Clone: os.Stdout, Path: "./log", Label: "lable", Name: "name_"}))

// 自定义压缩/删除模式
ndw := NewDefaultWriter(&DefaultWriterOption{Clone: os.Stdout, Path: "./log", Label: "lable", Name: "name_"})
// 日志按月压缩,保留近1个月的压缩日志,往期日志删除
ndw.SetCompressMode(ModeMonth, 0, 1)
// 日志按月压缩,保留近3个月的压缩日志,往期日志删除
ndw.SetCompressMode(ModeMonth, 0, 3)
// 日志按日压缩,昨天的日志开始压缩,保留近1次的压缩日志,往期日志删除
ndw.SetCompressMode(ModeDay, 1, 1)
// 日志按日压缩,3天前的日志开始压缩,保留近7次的压缩日志,往期日志删除
ndw.SetCompressMode(ModeDay, 3, 7)
ll := NewLogger(ndw)

ll.SetLevel(LoggerLevel0Debug)
ll.Log0Debug(fmt.Sprintf("0:%v", "Debug"))
ll.Log1Warn("1:Warning")
ll.Log2Error("2:Error")
ll.Log3Fatal("3:Fatal") // 附加 os.Exit(1)
ll.Log4Trace("4:Trace")

Documentation

Index

Constants

View Source
const (
	LoggerLevel0Debug   = iota // 测试信息 绿色
	LoggerLevel1Warning        // 警告信息 黄色
	LoggerLevel2Error          // 错误信息 红色
	LoggerLevel3Fatal          // 严重信息 高亮红色
	LoggerLevel4Trace          // 打印信息 灰色
	LoggerLevel5Off            // 关闭信息
	LoggerLevelNormal          // 无色
)

...

View Source
const (
	ModeMonth = "month" // 按月压缩模式
	ModeDay   = "day"   // 按日压缩模式
)

...

Variables

This section is empty.

Functions

func NewDefaultWriter added in v0.2.3

func NewDefaultWriter(option *DefaultWriterOption) io.Writer

NewDefaultWriter ...

Types

type DefaultWriter added in v0.2.3

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

DefaultWriter ...

func (*DefaultWriter) Write added in v0.2.3

func (o *DefaultWriter) Write(p []byte) (n int, err error)

type DefaultWriterOption added in v0.2.6

type DefaultWriterOption struct {
	CompressMode  string    // 日志压缩模式 [month|day] month=按月压缩,day=按日压缩
	CompressCount int       // 仅在按日压缩模式下有效,设置为压缩几天前的日志,支持大于等于1的数字
	CompressKeep  int       // 前多少次的压缩文件删除掉,支持month和day模式。默认为0,不删除。例如:1=保留最近1个压缩日志,2=保留最近2个压缩日志,依次类推。。。
	Clone         io.Writer // 日志克隆输出接口
	Path          string    // 日志目录,默认目录:./log
	Label         string    // 日志标签
	Name          string    // 日志文件名
}

DefaultWriterOption ...

type Logger

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

Logger ...

func NewLogger

func NewLogger(out io.Writer) *Logger

NewLogger ...

func (*Logger) Fork added in v0.2.8

func (o *Logger) Fork(prefix string) *Logger

Fork ...

func (*Logger) Listen added in v0.2.8

func (o *Logger) Listen(addr string)

Listen ...

func (*Logger) Log0Debug

func (o *Logger) Log0Debug(v ...interface{})

Log0Debug ...

func (*Logger) Log1Warn

func (o *Logger) Log1Warn(v ...interface{})

Log1Warn ...

func (*Logger) Log2Error

func (o *Logger) Log2Error(v ...interface{})

Log2Error ...

func (*Logger) Log3Fatal

func (o *Logger) Log3Fatal(v ...interface{})

Log3Fatal ...

func (*Logger) Log4Trace

func (o *Logger) Log4Trace(v ...interface{})

Log4Trace ...

func (*Logger) LogCalldepth

func (o *Logger) LogCalldepth(calldepth int, level int, msg ...interface{})

LogCalldepth ...

func (*Logger) SetColor

func (o *Logger) SetColor(enable bool)

SetColor Enable/Disable color

func (*Logger) SetFlags

func (o *Logger) SetFlags(flag int)

SetFlags ...

func (*Logger) SetLevel

func (o *Logger) SetLevel(level int)

SetLevel ...

func (*Logger) SetOutput

func (o *Logger) SetOutput(w io.Writer)

SetOutput ...

func (*Logger) SetPrefix

func (o *Logger) SetPrefix(prefix string)

SetPrefix ...

Jump to

Keyboard shortcuts

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