Browse Source

Add router log config option

Unknown 11 years ago
parent
commit
100cd181bc

+ 4 - 1
conf/app.ini

@@ -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

+ 4 - 4
models/models.go

@@ -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",

+ 2 - 0
modules/base/conf.go

@@ -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)

+ 11 - 3
modules/middleware/context.go

@@ -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))
 }
 

+ 6 - 0
modules/middleware/logger.go

@@ -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)
 

+ 1 - 0
routers/admin/admin.go

@@ -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

+ 2 - 0
templates/admin/config.tmpl

@@ -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>

+ 2 - 1
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)
 }