diff options
author | Unknwon <u@gogs.io> | 2017-03-23 18:34:25 -0400 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2017-03-23 18:34:25 -0400 |
commit | 8a3f4fc616086af121ab0c79aa3a24d30703acc9 (patch) | |
tree | c8424182196f8c3ffda81897e6e94d045cb79bde /models/models.go | |
parent | 66c1e6b0e8308068dbddaec03585f388875f4192 (diff) |
models: add config options for XORM logger (#3183)
Added new config section '[log.xorm]'.
Diffstat (limited to 'models/models.go')
-rw-r--r-- | models/models.go | 20 |
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 |