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

服务端代码

客户端代码

结果

最后更新于

这有帮助吗?