Ecosyste.ms: Packages

An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 5.2% on proxy.golang.org
Top 2.5% dependent packages on proxy.golang.org
Top 3.6% dependent repos on proxy.golang.org
Top 6.2% forks on proxy.golang.org

proxy.golang.org : github.com/issue9/logs

Package logs 是基于 XML 配置的日志系统。 logs 定义了 6 个级别的日志:ERROR、INFO、TRACE、DEBUG、CRITICAL 和 WARN。 用户可以根据自己的需求,通过 XML 配置文件自定义每个日志输出行为。 以下为一个简短的 XML 配置示例,具体的可参考目录下的 config.xml。 然后就可以调用 Go 代码输出日志内容: 上面的配置文件表示 DEBUG 级别的内容输出前都进被缓存,当量达到 10 条时, 一次性向 rotate 和 stmp 输出。 其中 buffer、rotate、stmp、debug 和 info 都是实现了 io.Writer 接口的结 构。通过 Register() 注册成功之后,即可以使用。 配置文件: - 只支持 utf-8 编码的 XML 文件。 - 节点名称和节点属性区分大小写,但是属性值不区分大小写。 - 顶级元素必须为 logs,且不需要带任何属性; - 二级元素实际上就是一个 log.Logger 实例, 只能为 info、deubg、trace、warn、error 和 critical, 分别对应 INFO、DEBUG、TRACE、WARN、ERROR 和 CRITICAL 等日志通道。 可以带上 prefix 和 flag 属性,分别对应 log.New() 中的相应参数。 - 三级及以下元素可以自己根据需求组合,logs 自带以下 writer, 用户也可以自己向 logs 注册自己的实现。 1. buffer: 缓存工具,当数量达到指定值时,一起向所有的子元素输出。 比如上面的示例中,所有向 debug 输出的内容,都会被 buffer 缓存, 直到数量达到 10 条,才会一起向 rotate 和 stmp 输出内容。 仅有 size 一个参数: 2. rotate: 这是一个按文件大写自动分割日志的实例,以第一条记录的产生时间作为文件名。 拥有以下三个参数: 3. stmp: 将日志内容发送给指定邮件,可定义的属性为: 4. console: 向控制台输出内容。可定义的属性为: 自定义 除了以上定义的元素,用户也可以自行实现 io.Writer 接口,以实现自定义的输出方向。 要添加新的元素,只需要向 Register() 函数注册一个元素的初始化函数即可, 其中注册的名称将作为配置节点的元素名称,需要唯一,不能与现有的名称相同; 函数则作为节点转换成实例时的转换功能,需要负责解析节点传递过来的属性列表(args 参数), 若是一个容器节点(如 buffer,可以包含子节点)则返回的实例必须要实现 WriteFlushAdder 接口, 该函数的原型为: NOTE: 不能对 logs.Error() 等函数进行再次封闭,若非要这样做的话, 建议使用 logs.ERROR().Output(),否则会造成输出的错误信息定位不准确的问题。

Registry - Source - Documentation - JSON
purl: pkg:golang/github.com/issue9/logs
Keywords: debug, error, fatal, go, golang, info, log, logger, logs, success, trace, writer
License: MIT
Latest release: over 5 years ago
First release: over 5 years ago
Namespace: github.com/issue9
Dependent packages: 5
Dependent repositories: 2
Stars: 16 on GitHub
Forks: 11 on GitHub
See more repository details: repos.ecosyste.ms
Last synced: 13 days ago

    Loading...
    Readme
    Loading...