blog4goGo 高性能日志库
BLog4go 是高性能日志库。创新地使用“边解析边输出”方法进行日志输出,同时支持回调函数、日志淘汰和配置文件。可以解决高并发,调用日志函数频繁的情境下,日志库造成的性能问题。
特性:
Partially write to the bufio.Writer as soon as posible while formatting message to improve performance
支持将不同日志级别数据写到不同文件
支持使用 XML 格式的配置文件
可配置的日志循环策略
每次日志动作都可异步调用用户自定义的钩子
可调整日志格式
无需重启更改日志行为
日志启动时使用环境变量的配置
后台记录
可根据配置文件制定文件写操作
不同的输出渠道
控制台
文件
Socket 套接字
快速开始:
package main import ( log "github.com/YoungPioneers/blog4go" "fmt" "os" ) // optionally set user defined hook for logging type MyHook struct { something string } // when log-level exceed level, call the hook // level is the level associate with that logging action. // message is the formatted string already written. func (self *MyHook) Fire(level log.Level, message string) { fmt.Println(message) } func main() { // init a file write using xml config file err := log.NewFileWriterFromConfigAsFile("config.xml") if nil != err { fmt.Println(err.Error()) os.Exit(1) } defer log.Close() // initialize your hook instance hook := new(MyHook) log.SetHook(hook) // writersFromConfig can be replaced with writers log.SetHookLevel(log.INFO) // optionally set output colored log.SetColored(true) log.Debugf("Good morning, %s", "eddie") log.Warn("It's time to have breakfast") }
config.xml
<blog4go minlevel="info"> <filter levels="trace"> <rotatefile path="trace.log" type="time"></rotatefile> </filter> <filter levels="debug,info" colored="true"> <file path="debug.log"></file> </filter> <filter levels="error,critical"> <rotatefile path="error.log" type="size" rotateSize="50000000" rotateLines="8000000"></rotatefile> </filter> </blog4go>
评论
Easylogging++高性能c++日志库
轻量级高性能c++日志库(Singleheaderonly)Easylogging++的优势是它的速度和简单。它是轻量级的,健壮的,高性能,线程和类型安全的,它有许多内置功能。它适合在中小型项目中使用
Easylogging++高性能c++日志库
0
EasyLogger超轻量级、高性能 C/C++ 日志库
1、介绍EasyLogger 是一款超轻量级(ROM1.1 主要特性支持用户自定义输出方式(例如:终
EasyLogger超轻量级、高性能 C/C++ 日志库
0
EasyLogger超轻量级、高性能 C/C++ 日志库
1、介绍EasyLogger是一款超轻量级(ROM1.1主要特性支持用户自定义输出方式(例如:终端、文件、数据库、串口、485、Flash...);日志内容可包含级别、时间戳、线程信息、进程信息等;日
EasyLogger超轻量级、高性能 C/C++ 日志库
0
GLLog高性能日志服务器
以前公司在的一些程序很多都用log4net进行错误处理,后来我们使用log4net建了个错误中心,使用log4net的remoteserver功能,逐渐使用我们错误中心的程序越来越多,就发生了每天错误
GLLog高性能日志服务器
0