* move xorm logger bridge from log to models so that log module could be a standalone package
* fix tests
* save logger on xorm log bridge
--- /dev/null
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package models
+
+import (
+ "fmt"
+
+ "code.gitea.io/gitea/modules/log"
+
+ "github.com/go-xorm/core"
+)
+
+// XORMLogBridge a logger bridge from Logger to xorm
+type XORMLogBridge struct {
+ showSQL bool
+ level core.LogLevel
+ logger *log.Logger
+}
+
+// NewXORMLogger inits a log bridge for xorm
+func NewXORMLogger(showSQL bool) core.ILogger {
+ return &XORMLogBridge{
+ showSQL: showSQL,
+ logger: log.GetLogger("xorm"),
+ }
+}
+
+// Log a message with defined skip and at logging level
+func (l *XORMLogBridge) Log(skip int, level log.Level, format string, v ...interface{}) error {
+ return l.logger.Log(skip+1, level, format, v...)
+}
+
+// Debug show debug log
+func (l *XORMLogBridge) Debug(v ...interface{}) {
+ l.Log(2, log.DEBUG, fmt.Sprint(v...))
+}
+
+// Debugf show debug log
+func (l *XORMLogBridge) Debugf(format string, v ...interface{}) {
+ l.Log(2, log.DEBUG, format, v...)
+}
+
+// Error show error log
+func (l *XORMLogBridge) Error(v ...interface{}) {
+ l.Log(2, log.ERROR, fmt.Sprint(v...))
+}
+
+// Errorf show error log
+func (l *XORMLogBridge) Errorf(format string, v ...interface{}) {
+ l.Log(2, log.ERROR, format, v...)
+}
+
+// Info show information level log
+func (l *XORMLogBridge) Info(v ...interface{}) {
+ l.Log(2, log.INFO, fmt.Sprint(v...))
+}
+
+// Infof show information level log
+func (l *XORMLogBridge) Infof(format string, v ...interface{}) {
+ l.Log(2, log.INFO, format, v...)
+}
+
+// Warn show warning log
+func (l *XORMLogBridge) Warn(v ...interface{}) {
+ l.Log(2, log.WARN, fmt.Sprint(v...))
+}
+
+// Warnf show warnning log
+func (l *XORMLogBridge) Warnf(format string, v ...interface{}) {
+ l.Log(2, log.WARN, format, v...)
+}
+
+// Level get logger level
+func (l *XORMLogBridge) Level() core.LogLevel {
+ switch l.logger.GetLevel() {
+ case log.TRACE, log.DEBUG:
+ return core.LOG_DEBUG
+ case log.INFO:
+ return core.LOG_INFO
+ case log.WARN:
+ return core.LOG_WARNING
+ case log.ERROR, log.CRITICAL:
+ return core.LOG_ERR
+ }
+ return core.LOG_OFF
+}
+
+// SetLevel set the logger level
+func (l *XORMLogBridge) SetLevel(lvl core.LogLevel) {
+}
+
+// ShowSQL set if record SQL
+func (l *XORMLogBridge) ShowSQL(show ...bool) {
+ if len(show) > 0 {
+ l.showSQL = show[0]
+ } else {
+ l.showSQL = true
+ }
+}
+
+// IsShowSQL if record SQL
+func (l *XORMLogBridge) IsShowSQL() bool {
+ return l.showSQL
+}
"path/filepath"
"strings"
- "code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
// Needed for the MySQL driver
}
x.SetMapper(core.GonicMapper{})
- x.SetLogger(log.XORMLogger)
+ x.SetLogger(NewXORMLogger(!setting.ProdMode))
x.ShowSQL(!setting.ProdMode)
return x.StoreEngine("InnoDB").Sync2(tables...)
}
x.SetMapper(core.GonicMapper{})
// WARNING: for serv command, MUST remove the output to os.stdout,
// so use log file to instead print to stdout.
- x.SetLogger(log.XORMLogger)
+ x.SetLogger(NewXORMLogger(setting.LogSQL))
x.ShowSQL(setting.LogSQL)
return nil
}
+++ /dev/null
-// Copyright 2017 The Gitea Authors. All rights reserved.
-// Use of this source code is governed by a MIT-style
-// license that can be found in the LICENSE file.
-
-package log
-
-import (
- "fmt"
-
- "github.com/go-xorm/core"
-)
-
-// XORMLogBridge a logger bridge from Logger to xorm
-type XORMLogBridge struct {
- showSQL bool
- level core.LogLevel
-}
-
-var (
- // XORMLogger the logger for xorm
- XORMLogger *XORMLogBridge
-)
-
-// InitXORMLogger inits a log bridge for xorm
-func InitXORMLogger(showSQL bool) {
- XORMLogger = &XORMLogBridge{
- showSQL: showSQL,
- }
-}
-
-// GetGiteaLevel returns the minimum Gitea logger level
-func (l *XORMLogBridge) GetGiteaLevel() Level {
- return GetLogger("xorm").GetLevel()
-}
-
-// Log a message with defined skip and at logging level
-func (l *XORMLogBridge) Log(skip int, level Level, format string, v ...interface{}) error {
- return GetLogger("xorm").Log(skip+1, level, format, v...)
-}
-
-// Debug show debug log
-func (l *XORMLogBridge) Debug(v ...interface{}) {
- l.Log(2, DEBUG, fmt.Sprint(v...))
-}
-
-// Debugf show debug log
-func (l *XORMLogBridge) Debugf(format string, v ...interface{}) {
- l.Log(2, DEBUG, format, v...)
-}
-
-// Error show error log
-func (l *XORMLogBridge) Error(v ...interface{}) {
- l.Log(2, ERROR, fmt.Sprint(v...))
-}
-
-// Errorf show error log
-func (l *XORMLogBridge) Errorf(format string, v ...interface{}) {
- l.Log(2, ERROR, format, v...)
-}
-
-// Info show information level log
-func (l *XORMLogBridge) Info(v ...interface{}) {
- l.Log(2, INFO, fmt.Sprint(v...))
-}
-
-// Infof show information level log
-func (l *XORMLogBridge) Infof(format string, v ...interface{}) {
- l.Log(2, INFO, format, v...)
-}
-
-// Warn show warning log
-func (l *XORMLogBridge) Warn(v ...interface{}) {
- l.Log(2, WARN, fmt.Sprint(v...))
-}
-
-// Warnf show warnning log
-func (l *XORMLogBridge) Warnf(format string, v ...interface{}) {
- l.Log(2, WARN, format, v...)
-}
-
-// Level get logger level
-func (l *XORMLogBridge) Level() core.LogLevel {
- switch l.GetGiteaLevel() {
- case TRACE, DEBUG:
- return core.LOG_DEBUG
- case INFO:
- return core.LOG_INFO
- case WARN:
- return core.LOG_WARNING
- case ERROR, CRITICAL:
- return core.LOG_ERR
- }
- return core.LOG_OFF
-}
-
-// SetLevel set the logger level
-func (l *XORMLogBridge) SetLevel(lvl core.LogLevel) {
-}
-
-// ShowSQL set if record SQL
-func (l *XORMLogBridge) ShowSQL(show ...bool) {
- if len(show) > 0 {
- l.showSQL = show[0]
- } else {
- l.showSQL = true
- }
-}
-
-// IsShowSQL if record SQL
-func (l *XORMLogBridge) IsShowSQL() bool {
- return l.showSQL
-}
Cfg.Section("log").Key("XORM").MustString(",")
generateNamedLogger("xorm", options)
- log.InitXORMLogger(LogSQL)
- } else {
- log.InitXORMLogger(false)
}
}