]> source.dussan.org Git - gitea.git/commitdiff
Add router log config option
authorUnknown <joe2010xtmf@163.com>
Thu, 1 May 2014 22:53:41 +0000 (18:53 -0400)
committerUnknown <joe2010xtmf@163.com>
Thu, 1 May 2014 22:53:41 +0000 (18:53 -0400)
conf/app.ini
models/models.go
modules/base/conf.go
modules/middleware/context.go
modules/middleware/logger.go
routers/admin/admin.go
templates/admin/config.tmpl
web.go

index 6dfd198b2f37b042cc0fc85c036fdcacb343f579..789f357fa9587254db171630f05fb022315ac935 100644 (file)
@@ -15,9 +15,12 @@ LICENSES = Apache v2 License|GPL v2|MIT License|Affero GPL|Artistic License 2.0|
 [server]
 PROTOCOL = http
 DOMAIN = localhost
-ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:3000/
+ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
+HTTP_ADDR = 
+HTTP_PORT = 3000
 ; Disable CDN even in "prod" mode
 OFFLINE_MODE = false
+ROUTER_LOG = true
 ; Generate steps:
 ; $ cd path/to/gogs/custom/https
 ; $ go run $GOROOT/src/pkg/crypto/tls/generate_cert.go -ca=true -duration=8760h0m0s -host=myhost.example.com
index 8e8835ab516e13957546e95e5cc19ce05c1fbd08..059435f15ff6e841a11d54b1b329200662dfec62 100644 (file)
@@ -58,10 +58,10 @@ func NewTestEngine(x *xorm.Engine) (err error) {
        case "postgres":
                var host, port = "127.0.0.1", "5432"
                fields := strings.Split(DbCfg.Host, ":")
-               if len(fields) > 0 {
+               if len(fields) > 0 && len(strings.TrimSpace(fields[0])) > 0 {
                        host = fields[0]
                }
-               if len(fields) > 1 {
+               if len(fields) > 1 && len(strings.TrimSpace(fields[1])) > 0 {
                        port = fields[1]
                }
                cnnstr := fmt.Sprintf("user=%s password=%s host=%s port=%s dbname=%s sslmode=%s",
@@ -91,10 +91,10 @@ func SetEngine() (err error) {
        case "postgres":
                var host, port = "127.0.0.1", "5432"
                fields := strings.Split(DbCfg.Host, ":")
-               if len(fields) > 0 {
+               if len(fields) > 0 && len(strings.TrimSpace(fields[0])) > 0 {
                        host = fields[0]
                }
-               if len(fields) > 1 {
+               if len(fields) > 1 && len(strings.TrimSpace(fields[1])) > 0 {
                        port = fields[1]
                }
                orm, err = xorm.NewEngine("postgres", fmt.Sprintf("user=%s password=%s host=%s port=%s dbname=%s sslmode=%s",
index cfc85ff51ea8c6daf42649a0c57b06d4e2fba41b..23c7276bf1f68721cb11094a24b79604ec54685e 100644 (file)
@@ -50,6 +50,7 @@ var (
        AppLogo     string
        AppUrl      string
        OfflineMode bool
+       RouterLog   bool
        ProdMode    bool
        Domain      string
        SecretKey   string
@@ -327,6 +328,7 @@ func NewConfigContext() {
        AppUrl = Cfg.MustValue("server", "ROOT_URL")
        Domain = Cfg.MustValue("server", "DOMAIN")
        OfflineMode = Cfg.MustBool("server", "OFFLINE_MODE", false)
+       RouterLog = Cfg.MustBool("server", "ROUTER_LOG", true)
        SecretKey = Cfg.MustValue("security", "SECRET_KEY")
 
        InstallLock = Cfg.MustBool("security", "INSTALL_LOCK", false)
index 1330172fdeab345889af6b8f9024106d903fbecd..31fdca681a7121b5025f5b1c42b76d2468a2a11f 100644 (file)
@@ -106,11 +106,19 @@ func (ctx *Context) RenderWithErr(msg, tpl string, form auth.Form) {
 
 // Handle handles and logs error by given status.
 func (ctx *Context) Handle(status int, title string, err error) {
-       log.Error("%s: %v", title, err)
-       if martini.Dev != martini.Prod {
-               ctx.Data["ErrorMsg"] = err
+       if err != nil {
+               log.Error("%s: %v", title, err)
+               if martini.Dev != martini.Prod {
+                       ctx.Data["ErrorMsg"] = err
+               }
        }
 
+       switch status {
+       case 404:
+               ctx.Data["Title"] = "Page Not Found"
+       case 500:
+               ctx.Data["Title"] = "Internal Server Error"
+       }
        ctx.HTML(status, fmt.Sprintf("status/%d", status))
 }
 
index fc8e1a81153a7d32a08a29185971c81ceb486b50..d815b90c262389c03dea346ab1993b0f7618aabe 100644 (file)
@@ -12,6 +12,8 @@ import (
        "time"
 
        "github.com/go-martini/martini"
+
+       "github.com/gogits/gogs/modules/base"
 )
 
 var isWindows bool
@@ -22,6 +24,10 @@ func init() {
 
 func Logger() martini.Handler {
        return func(res http.ResponseWriter, req *http.Request, ctx martini.Context, log *log.Logger) {
+               if !base.RouterLog {
+                       return
+               }
+
                start := time.Now()
                log.Printf("Started %s %s", req.Method, req.URL.Path)
 
index fddd83018567252c4c01a88b9b49268ae31fff53..14128c8c2b0e47f88dea4c461065fc7cd2d71d1b 100644 (file)
@@ -140,6 +140,7 @@ func Config(ctx *middleware.Context) {
        ctx.Data["AppUrl"] = base.AppUrl
        ctx.Data["Domain"] = base.Domain
        ctx.Data["OfflineMode"] = base.OfflineMode
+       ctx.Data["RouterLog"] = base.RouterLog
        ctx.Data["RunUser"] = base.RunUser
        ctx.Data["RunMode"] = strings.Title(martini.Env)
        ctx.Data["RepoRootPath"] = base.RepoRootPath
index b2b25e90f6d882a64a797554993abd67a38daf53..08a68ae10ef654ca1fc6fab8f1128118cac1e224 100644 (file)
@@ -20,6 +20,8 @@
                     <dd>{{.Domain}}</dd>
                     <dt>Offline Mode</dt>
                     <dd><i class="fa fa{{if .OfflineMode}}-check{{end}}-square-o"></i></dd>
+                    <dt>Router Log</dt>
+                    <dd><i class="fa fa{{if .RouterLog}}-check{{end}}-square-o"></i></dd>
                     <hr/>
                     <dt>Run User</dt>
                     <dd>{{.RunUser}}</dd>
diff --git a/web.go b/web.go
index 0ee89c3ca9a8445ea5bd12a2f9400898743ce2c7..9fa43d163f7436c565e6b3b6795be34d05e2de29 100644 (file)
--- a/web.go
+++ b/web.go
@@ -42,7 +42,7 @@ func newMartini() *martini.ClassicMartini {
        m := martini.New()
        m.Use(middleware.Logger())
        m.Use(martini.Recovery())
-       m.Use(martini.Static("public"))
+       m.Use(martini.Static("public", martini.StaticOptions{SkipLogging: !base.RouterLog}))
        m.MapTo(r, (*martini.Routes)(nil))
        m.Action(r.Handle)
        return &martini.ClassicMartini{m, r}
@@ -208,4 +208,5 @@ func runWeb(*cli.Context) {
                        qlog.Error(err.Error())
                }
        }
+       qlog.Fatalf("Invalid protocol: %s", protocol)
 }