srvmanager http服务管理框架 srvmanager

HaroldHoo • 1987 次点击    
这是一个分享于 的项目,其中的信息可能已经有所发展或是发生改变。
``` 可配合大部分优秀的开源http框架使用,如"gin"、"echo"、"iris"、"martini"等 ``` #### 项目github > https://github.com/HaroldHoo/srvmanager # srvmanager 1. graceful shutdown/reload (平滑关闭/重启服务) 2. manager process via pidfile (通过-s reload 或 kill -HUP pid 像Nginx一样优雅地重启服务) 3. log something easier (记录日志更便捷) ## Usage ``` ./main/bin/server -h Usage of ./main/bin/server: -accesslog string log file (default "/var/log/server_access.log") -errorlog string log file (default "/var/log/server_error.log") -pid string pid file (default "/var/run/server.pid") -d Start as deamon. (default true) -p string Listen port (default "8080") -s string (When used with the -pid option, the pid will be from specified pidfile.) Send a signal to the process. The argument signal can be one of: start stop reload restart, The following table shows the corresponding system signals: stop SIGTERM reload SIGHUP restart SIGHUP (default "start") ``` --- ## Examples 1. Via https://github.com/gin-gonic/gin : (Gin is a HTTP web framework written in Go (Golang).) > https://github.com/HaroldHoo/srvmanager/tree/master/examples/gin 2. Via https://github.com/labstack/echo : (High performance, minimalist Go web framework) > https://github.com/HaroldHoo/srvmanager/tree/master/examples/echo 3. Via https://github.com/kataras/iris : (The fastest web framework for Go on (THIS) Earth.) > https://github.com/HaroldHoo/srvmanager/tree/master/examples/iris 4. Via https://github.com/go-martini/martini : (Classy web framework for Go) > https://github.com/HaroldHoo/srvmanager/tree/master/examples/martini ``` package main import ( "github.com/HaroldHoo/srvmanager" "github.com/gin-gonic/gin" "log" "net/http" "time" ) func main() { m := srvmanager.New() gin.DefaultWriter = m.GetAccessLogWriter() gin.DefaultErrorWriter = m.GetErrorLogWriter() router := gin.Default() router.GET("/", func(c *gin.Context) { time.Sleep(2 * time.Second) srvmanager.Log(*m.ErrorLogFile).Infof("%s ---- \n", time.Now().Format("2006-01-02 15:04:05")) log.Printf("%s\n", "log test ----") c.String(http.StatusOK, "Welcome !") }) srv := &http.Server{ Handler: router, ReadTimeout: 5 * time.Second, WriteTimeout: 5 * time.Second, MaxHeaderBytes: 1 << 20, } m.Run(srv) } ```
授权协议:
开发语言:
go 查看源码»
1987 次点击  ∙  1 赞  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传