Golang 日志美化输出-ketty

anqiansong · 2021-11-26 23:38:46 · 727 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2021-11-26 23:38:46 的主题,其中的信息可能已经有所发展或是发生改变。

Ketty

ketty 是一个Golang 开发的简单的日志美化输出 Logger。

Github

https://github.com/anqiansong/ketty

安装

$ go install github.com/anqiansong/ketty@latest

快速开始

func main(){
    console.Info(`
    {
        "name":"Hello Ketty",
        "description":"a color logger",
        "author":"anqiansong",
        "category":"console",
        "github":"https://github.com/anqiansong/ketty",
        "useage":[
            "info",
            "debug"
        ]
    }`)
    console.Debug("Hello Ketty")
    console.Warn("Hello Ketty")
    console.Error(errors.New("error test"))
}

终端显示

terminal

Goland 显示

用法

直接使用

直接使用的 Console 实例支持一些默认配置项:

  • 使用 frame.WithLineStyle 作为边框
  • 默认美化日志
func main(){
    console.Info("Hello ketty, This is info log")
    console.Debug("Hello ketty, This debug log")
    console.Warn("Hello ketty, This warn log")
    console.Error(errors.New("Hello ketty,This is an error"))
}

初始化

    // 替换默认的边框
    plusStyle := text.WithPlusStyle()
    c := console.NewConsole(console.WithTextOption(plusStyle))

Console 配置

    c.DisableBorder() // 禁用边框
    c.DisableColor() // 禁用颜色美化

打印 log

    // 输出 info 日志
    c.Info("Hello Ketty, It's now %q", time.Now())

边框样式

预设样式

  • WithLineStyle 默认样式
    [INFO] 2021-11-26 23:24:51.826 ┌────────────
    [INFO] 2021-11-26 23:24:51.826 │  Hello Ketty
    [INFO] 2021-11-26 23:24:51.826 └────────────
    
  • WithDotStyle

    [INFO] 2021-11-26 23:25:16.794 .............
    [INFO] 2021-11-26 23:25:16.794 .  Hello Ketty
    [INFO] 2021-11-26 23:25:16.794 .............
    
  • WithStarStyle

    [INFO] 2021-11-26 23:25:30.461 *************
    [INFO] 2021-11-26 23:25:30.461 *  Hello Ketty
    [INFO] 2021-11-26 23:25:30.461 *************
    
  • WithPlusStyle

    [INFO] 2021-11-26 23:25:45.736 +------------
    [INFO] 2021-11-26 23:25:45.736 |  Hello Ketty
    [INFO] 2021-11-26 23:25:45.736 +------------
    
  • WithFivePointedStarStyle

    [INFO] 2021-11-26 23:26:02.382 ★★★★★★★★★★★★★
    [INFO] 2021-11-26 23:26:02.382 ★  Hello Ketty
    [INFO] 2021-11-26 23:26:02.382 ★★★★★★★★★★★★★
    
  • WithDoubleLine

    [INFO] 2021-11-26 23:26:18.008 ╔════════════
    [INFO] 2021-11-26 23:26:18.008 ║  Hello Ketty
    [INFO] 2021-11-26 23:26:18.008 ╚════════════
    
  • DisableBorder

    [INFO] 2021-11-26 22:33:01.695   Hello Ketty, It's now "2021-11-26 22:33:01.695338 +0800 CST m=+0.000156150"
    

自定义样式

  • WithCommonBorder

    // 边框横向、众项、拐角均为一种符号
    plusStyle := text.WithCommonBorder("x")
    
    [INFO] 2021-11-26 23:26:44.162 xxxxxxxxxxxxx
    [INFO] 2021-11-26 23:26:44.162 x  Hello Ketty
    [INFO] 2021-11-26 23:26:44.162 xxxxxxxxxxxxx
    
  • WithBorder

      // arg1: 左上角符号
      // arg2: 左下角符号
      // arg3: 横向边框符号
      // arg4: 垂直边框符号
      plusStyle := text.WithBorder("=","=","-","|")
      c := console.NewConsole(console.WithTextOption(plusStyle))
    
    [INFO] 2021-11-26 23:26:59.321 =------------
    [INFO] 2021-11-26 23:26:59.321 |  Hello Ketty
    [INFO] 2021-11-26 23:26:59.321 =------------
    

日志持久化

TODO

注意事项

Windows 不支持美化输出。


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

727 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传