Go 高性能日志库 blog4go

码农软件 · 软件分类 · 日志工具(Logging) · 2019-09-20 08:13:33

软件介绍

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>

本文地址:https://codercto.com/soft/d/14989.html

面向对象葵花宝典:思想、技巧与实践

面向对象葵花宝典:思想、技巧与实践

李运华 编著 / 电子工业出版社 / 2015-12 / 69

《面向对象葵花宝典:思想、技巧与实践》系统地讲述了面向对象技术的相关内容,包括面向对象的基本概念、面向对象开发的流程、面向对象的各种技巧,以及如何应用面向对象思想进行架构设计。在讲述相关知识或技术的时候,除了从“是什么”这个角度进行介绍外,更加着重于从“为什么”和“如何用”这两个角度进行剖析,力争让读者做到“知其然,并知其所以然”,从而达到在实践中既能正确又能优秀地应用面向对象的相关技术和技巧。 ......一起来看看 《面向对象葵花宝典:思想、技巧与实践》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具