Skip to content

A golang web projects template based on gin framework

License

Notifications You must be signed in to change notification settings

kimiazhu/ginweb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GinWeb

A golang web project template based on gin framework

Features:

gin本身已经相当灵活,但是由于项目中有一些模块是我们必须或者经常使用的,所以进行了集成,如果不需要这些模块或者要使用自己的模块实现,请考虑直接使用gin框架

  1. 集成endless在类Unix平台下实现不停机重启服务
  2. 集成log4go: 类似于log4j的配置式的log输出,可以控制日记级别,输出格式以及滚动
  3. 集成recovery: 出错时尝试进行恢复并使用log4go记录为critical级别

USAGE:

func main() {
    r := ginweb.NewGinweb()
    
    r.GET("/welcome", func(c *gin.Context) {
        firstname := c.DefaultQuery("firstname", "Guest")
        lastname := c.Query("lastname")
        c.String(http.StatusOK, "Hello %s %s", firstname, lastname)
    })
    
    r.Run(conf.Conf.SERVER.PORT)
}

后台启动app(供参考):

$> nohup ./appname > /dev/null 2>stderr.log &

不停机重启服务(在在Unix/Linux/Mac)上能起作用:

$> pgrep appname | xargs kill -HUP

TODO:

  1. Portable模式, 支持内嵌conf.yml文件和log4go.xml文件, 构建时将生成一个唯一的一个可执行文件, 单个文件更便于分发。

About

A golang web projects template based on gin framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages