Help us shape the future of Go! Take the 2026 Go Developer Survey

elog

package module
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2019 License: MIT Imports: 12 Imported by: 0

README

elog

Build Status Go Report Card codecov

轻量级 - 日志格式库

ps: 未经过100k+高流量线上环境验证。

特点

  1. 轻量级,代码简单,自定义度高。
  2. 支持日志等级分类, ERROR 及其以上级别单独文件, DEBUG FATAL 打印出日志调用位置,方便排查问题。
  3. 写入性能优,内存占用低。使用及其简单。
  4. 支持日志行数切割,支持日志时间间隔切割,支持保留一定时间范围的日志。
  5. 支持误删日志文件,1分钟内恢复写入。已经删除的无法恢复

使用

go get -u github.com/huzhongqing/elog

性能

可进入 benchmark 文件,运行 go test -bench=. -benchtime=1s -benchmem -run=none

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LogLevel

type LogLevel int8

LogLevel 日志等级

const (
	DEBUG LogLevel = iota
	INFO
	WARN
	ERROR
	FATAL
)

日志等级

type Logger

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

Logger 日志写入器

func New added in v1.0.0

func New(filename string) (*Logger, error)

New 创建写入对象

func (*Logger) Close

func (l *Logger) Close()

Close 释放文件资源

func (*Logger) Debug added in v1.0.0

func (l *Logger) Debug(f string, a ...interface{})

Debug 等级日志 带日志调用定位

func (*Logger) Error added in v1.0.0

func (l *Logger) Error(f string, a ...interface{})

Error 等级日志

func (*Logger) Fatal added in v1.0.0

func (l *Logger) Fatal(f string, a ...interface{})

Fatal 带日志调用定位, 只写入文件,不退出进程

func (*Logger) Info added in v1.0.0

func (l *Logger) Info(f string, a ...interface{})

Info 等级日志

func (*Logger) InfoOut added in v1.0.0

func (l *Logger) InfoOut() io.Writer

InfoOut info 日志文件 writer

func (*Logger) Level added in v1.0.0

func (l *Logger) Level() string

Level 日志等级

func (*Logger) Output

func (l *Logger) Output(calldepth int, s string) error

Output 系统输出

func (*Logger) Prefix added in v1.0.0

func (l *Logger) Prefix() string

Prefix 日志前缀

func (*Logger) Printf added in v1.0.0

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

Printf 打印到系统输出

func (*Logger) Println added in v1.0.0

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

Println 打印到系统输出

func (*Logger) SetCalldepth added in v1.0.0

func (l *Logger) SetCalldepth(calldepth int)

SetCalldepth 设置函数调用深度 默认 2

func (*Logger) SetDateFlag added in v1.0.1

func (l *Logger) SetDateFlag(flag byte)

SetDateFlag 设置 date 的间隔标志

func (*Logger) SetLevel

func (l *Logger) SetLevel(level LogLevel)

SetLevel 设置等级 >= 此等级才会正常输出

func (*Logger) SetMonofileMaxRows added in v1.0.0

func (l *Logger) SetMonofileMaxRows(rows uint64)

SetMonofileMaxRows 单文件最大条数, 第一次切割行数切割,会保留原文件的行数,则文件保存行数为 oldfileSize + ContentMaxSize 默认值 10000

func (*Logger) SetPrefix added in v1.0.0

func (l *Logger) SetPrefix(prefix string)

SetPrefix 设置日志前缀 默认 ""

func (*Logger) SetRotate added in v1.0.0

func (l *Logger) SetRotate(num int)

SetRotate 保留时间范围 Rotate * RotateInterval 默认值 7

func (*Logger) SetRotateInterval added in v1.0.0

func (l *Logger) SetRotateInterval(interval time.Duration)

SetRotateInterval 初始化日志,切割日志时间间隔 �默认值 24*hour

func (*Logger) Warn added in v1.0.0

func (l *Logger) Warn(f string, a ...interface{})

Warn 等级日志

func (*Logger) WarnOut added in v1.0.0

func (l *Logger) WarnOut() io.Writer

WarnOut warn 日志文件 writer

Jump to

Keyboard shortcuts

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