aboutsummaryrefslogtreecommitdiff
path: root/models
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2017-03-23 18:34:25 -0400
committerUnknwon <u@gogs.io>2017-03-23 18:34:25 -0400
commit8a3f4fc616086af121ab0c79aa3a24d30703acc9 (patch)
treec8424182196f8c3ffda81897e6e94d045cb79bde /models
parent66c1e6b0e8308068dbddaec03585f388875f4192 (diff)
models: add config options for XORM logger (#3183)
Added new config section '[log.xorm]'.
Diffstat (limited to 'models')
-rw-r--r--models/models.go20
1 files changed, 13 insertions, 7 deletions
diff --git a/models/models.go b/models/models.go
index c79a071b..e946105d 100644
--- a/models/models.go
+++ b/models/models.go
@@ -21,6 +21,7 @@ import (
"github.com/go-xorm/core"
"github.com/go-xorm/xorm"
_ "github.com/lib/pq"
+ log "gopkg.in/clog.v1"
"github.com/gogits/gogs/models/migrations"
"github.com/gogits/gogs/modules/setting"
@@ -192,18 +193,23 @@ func SetEngine() (err error) {
// WARNING: for serv command, MUST remove the output to os.stdout,
// so use log file to instead print to stdout.
- logPath := path.Join(setting.LogRootPath, "xorm.log")
- os.MkdirAll(path.Dir(logPath), os.ModePerm)
-
- f, err := os.Create(logPath)
+ sec := setting.Cfg.Section("log.xorm")
+ fmt.Println(sec.Key("ROTATE_DAILY").MustBool(true))
+ logger, err := log.NewFileWriter(path.Join(setting.LogRootPath, "xorm.log"),
+ log.FileRotationConfig{
+ Rotate: sec.Key("ROTATE").MustBool(true),
+ Daily: sec.Key("ROTATE_DAILY").MustBool(true),
+ MaxSize: sec.Key("MAX_SIZE").MustInt64(100) * 1024 * 1024,
+ MaxDays: sec.Key("MAX_DAYS").MustInt64(3),
+ })
if err != nil {
- return fmt.Errorf("Fail to create xorm.log: %v", err)
+ return fmt.Errorf("Fail to create 'xorm.log': %v", err)
}
if setting.ProdMode {
- x.SetLogger(xorm.NewSimpleLogger3(f, xorm.DEFAULT_LOG_PREFIX, xorm.DEFAULT_LOG_FLAG, core.LOG_WARNING))
+ x.SetLogger(xorm.NewSimpleLogger3(logger, xorm.DEFAULT_LOG_PREFIX, xorm.DEFAULT_LOG_FLAG, core.LOG_WARNING))
} else {
- x.SetLogger(xorm.NewSimpleLogger(f))
+ x.SetLogger(xorm.NewSimpleLogger(logger))
}
x.ShowSQL(true)
return nil