给大家介绍一个go语言的web framework,Tigo框架。
github地址:点击此处
Tigo框架的设计风格有点类似于tornado,从python转go的小伙伴可以看看。
首先,安装:
go get github.com/karldoenitz/Tigo/...
安装结束后来编写一个简单地hello world,
代码如下:
package main
import "github.com/karldoenitz/Tigo/TigoWeb"
// handler
type HelloHandler struct {
TigoWeb.BaseHandler
}
func (helloHandler *HelloHandler)Get() {
helloHandler.ResponseAsHtml("<p1 style='color: red'>Hello Tigo!</p1>")
}
// url路由配置
var urls = map[string]interface{}{
"/hello-tigo": &HelloHandler{},
}
// 主函数
func main() {
application := TigoWeb.Application{
IPAddress: "0.0.0.0",
Port: 8888,
UrlPattern: urls,
}
application.Run()
}
编译并运行:
go build main.go
访问:http://127.0.0.1:8888/hello-tigo即可。
另外,Tigo框架还自带一个logger模块,使用简单,也可以在第三方代码中单独调用,使用easy。
例如:
a.go
import "github.com/karldoenitz/Tigo/logger"
InitLoggerWithConfigFile("/path/to/config.json")
config.json
{
"trace": "stdout", // trace的内容只在终端输出,不在文件内保留
"info": "/Users/karllee/Desktop/run-info.log", // info的内容存在run-info.log文件中
"warning": "/Users/karllee/Desktop/run.log", // warning与error的日志存在同一个文件内
"error": "/Users/karllee/Desktop/run.log",
"time_roll": "H*2" // 表示每两个小时切分一次日志
}
b.go
import "github.com/karldoenitz/Tigo/logger"
logger.Info.Printf("It is a test...")
logger.Warning.Printf("warning!")
logger.Error.Printf("ERROR!!!")
此时便可以在你的代码中使用Tigo的logger模块了,并且logger模块支持简单地日志切分,可以按照时间对log文件进行定时切分。
详细使用可到github上查看文档。