golang debug 配置_花了点时间写了一个 golang 的 logger 库

c47d96e8dd7c8f6c9f15f7743e25aaf7.png

原文作者:joway

花了点时间写了一个 golang 的 logger 库,和目前市面上的 logger 的区别在于:1. 可以 0 配置使用2. 支持环境变量控制开关3. 彩色输出

Inspired by a popular NodeJS logger library: debug.

Feature

  • zero configuration for most use cases.

  • Colorful console output

  • Enable logger by environment easily

3600e1eb491b6f3ec35c10a8e81fe02c.png

Install

go get github.com/joway/loki@latest

API

4a6b3140-f831-eb11-8da9-e4434bdf6706.other

Usage

Use root logger simply

It will not been affected by LOKI_ENV.

loki.SetLevel(loki.INFO)
loki.Info("x: %s", "hi")
loki.Debug("x: %s", "hi")
loki.Error("x: %s", "hi")

Create your logger

logger := loki.New("app:xxx")
logger.Info("x: %s", "hi")
logger.Debug("x: %s", "hi")
logger.Error("x: %s", "hi")

To enable the logger, just add env LOKI_ENV=app:xxx in your command, like: LOKI_ENV=app:xxx ./main.

You can also use LOKI_ENV=app:a,app:b,model:a to enable multiple logger.

LOKI_ENV=* can enable all loggers.

Use file handler

// "02 Jan 06 15:04 MST"l := loki.New("app:xxx")fp, err := os.OpenFile("test.log", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, os.ModePerm)defer fp.Close()flushIntervalMs := 1000
l.SetHandler(loki.NewFileHandler(fp, flushIntervalMs))
l.Info("x: %s", "hi")

Change time format

// "02 Jan 06 15:04 MST"
loki.SetTimeFormatter(time.RFC822)// disable time output
loki.SetTimeFormatter("")

Use your custom logger formatter

type ErrFormatter struct {
loki.Formatter
}func (f ErrFormatter) format(a ...interface{}) string {err := a[0].(error)return fmt.Sprintf("Error %v", err)
}logger := loki.New("app:xxx")f := ErrFormatter{}
logger.SetFormatter(f)
logger.Debug(errors.New("test error"))

版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。

be95515880771f99d204d15dea1047ab.png

Golang语言社区

ID:Golangweb

www.Golang.LTD

Golang标准文库

翻译地址:http://doc.golang.ltd/

游戏服务器架构丨分布式技术丨大数据丨游戏算法学习

dd6d153e358f3daa6129261c31a8ab5e.pnga0ae956fde3e2aaf24cb1325361087e7.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值