summaryrefslogtreecommitdiffstats
path: root/models/log.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2019-05-14 15:04:07 +0800
committerLauris BH <lauris@nix.lv>2019-05-14 10:04:07 +0300
commit8b36f01f453979d6b6ee14f9ac6e56fa6c7b035e (patch)
treeb0f38d5a757aaaa10484241f85a77bf936084815 /models/log.go
parent0e057eb0336629652ae8e661b1bd497007730334 (diff)
downloadgitea-8b36f01f453979d6b6ee14f9ac6e56fa6c7b035e.tar.gz
gitea-8b36f01f453979d6b6ee14f9ac6e56fa6c7b035e.zip
Move xorm logger bridge from log to models so that log module could be a standalone package (#6944)
* 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
Diffstat (limited to 'models/log.go')
-rw-r--r--models/log.go106
1 files changed, 106 insertions, 0 deletions
diff --git a/models/log.go b/models/log.go
new file mode 100644
index 0000000000..4994545c5f
--- /dev/null
+++ b/models/log.go
@@ -0,0 +1,106 @@
+// 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
+}