ELK远程日志库
[TOC]
在本地打印日志并且上报到elk
项目地址:log
示例
代码
package main
import (
"context"
"fmt"
"github.com/1005281342/log"
)
func main() {
var ctx = context.Background()
ctx = log.SetTraceID(ctx, "jesontest20210124-2")
var logger, err = log.WithContext(ctx,
log.WithAddress("127.0.0.1:5000"),
log.WithAppName("jeson"),
log.WithFuncName("test"),
)
if err != nil {
fmt.Printf("new logger failed: %+v \n", err)
return
}
logger.Error("test Error")
logger.Errorf("test Error%s", "f")
logger.Errorv("test Errorv")
logger.Info("test Info")
logger.Infof("test Info%s", "f")
logger.Infov("test Infov")
logger.Slow("test Slow")
logger.Slowf("test Slow%s", "f")
logger.Slowv("test Slowv")
}结果

ELK环境搭建
基于docker
docker部署相关文件地址 https://github.com/deviantony/docker-elk
注意修改docker-compose.yml的ELASTIC_PASSWORD属性
部署之后可能遇到许可证过期问题,可以参考https://blog.csdn.net/qq_41049126/article/details/108489901解决:
在kibana执行:POST /_license/start_basic?acknowledge=true 或者 curl -XPOST "http://elasticsearch:9200/_license/start_basic?acknowledge=true"
用到go-zero中
代码地址:github.com/1005281342/gozerorpcdemo
服务端代码
客户端代码
结果

最后更新于
这有帮助吗?