chassis

module
v0.1.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 14, 2020 License: Apache-2.0

README

chassis

1.介绍

Golang相关服务的基础底架

2.web

基于Gin框架封装了路由处理器相关的中间件,只需提供一个包含请求结构体和响应结构体的函数,该组件实现自动解析请求体和响应。

示例:

func routes(engine *gin.Engine) {
	middleware.Route(engine, http.MethodPost,"/sayHello", handlers.SayHello)
}

func SayHello(ctx context.Context, req *HelloReq, resp *HelloResp) *http_error.HttpError {
	//fmt.Printf("%+v", req)
	resp.Name = "respName"
	resp.Age = 999
	return nil
}

3.logger

添加基于第三方logrus包封装的logger包,包含日志轮转分割的功能和显示源文件名、行号以及function名

示例:

func main() {
	writer, err := logger.NewRotateWriter("./web", time.Second*3, time.Second*2)
	if err != nil {
		fmt.Println(err)
		return
	}
	logger.SetOutput(writer)
	for i:=0;i<12;i++{
		logger.Infof("hello, %s", "hezebin")
		time.Sleep(time.Second)
	}
}

上述示例创建了两个日志文件 :

  • web.20201213163712.log
  • web.20201213163712.log

并且输出内容如下 :

{"file":"main.go:34","func":"main","level":"info","msg":"hello, hezebin","time":"2020-12-13 16:35:56"}

4.error

目前只包含了与web中handler相适应和匹配的HttpError

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL