mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-26 17:08:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			144 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // 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 {
 | |
| 	loggers []*Logger
 | |
| 	showSQL bool
 | |
| 	level   core.LogLevel
 | |
| }
 | |
| 
 | |
| var (
 | |
| 	// XORMLogger the logger for xorm
 | |
| 	XORMLogger *XORMLogBridge
 | |
| )
 | |
| 
 | |
| // DiscardXORMLogger inits a blank logger for xorm
 | |
| func DiscardXORMLogger() {
 | |
| 	XORMLogger = &XORMLogBridge{
 | |
| 		showSQL: false,
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // NewXORMLogger generate logger for xorm FIXME: configable
 | |
| func NewXORMLogger(bufferlen int64, mode, config string) {
 | |
| 	logger := newLogger(bufferlen)
 | |
| 	logger.SetLogger(mode, config)
 | |
| 	if XORMLogger == nil {
 | |
| 		XORMLogger = &XORMLogBridge{
 | |
| 			showSQL: true,
 | |
| 		}
 | |
| 	}
 | |
| 	XORMLogger.loggers = append(XORMLogger.loggers, logger)
 | |
| }
 | |
| 
 | |
| func (l *XORMLogBridge) writerMsg(skip, level int, msg string) error {
 | |
| 	for _, logger := range l.loggers {
 | |
| 		if err := logger.writerMsg(skip, level, msg); err != nil {
 | |
| 			return err
 | |
| 		}
 | |
| 	}
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| // Debug show debug log
 | |
| func (l *XORMLogBridge) Debug(v ...interface{}) {
 | |
| 	if l.level <= core.LOG_DEBUG {
 | |
| 		msg := fmt.Sprint(v...)
 | |
| 		l.writerMsg(0, DEBUG, "[D]"+msg)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // Debugf show debug log
 | |
| func (l *XORMLogBridge) Debugf(format string, v ...interface{}) {
 | |
| 	if l.level <= core.LOG_DEBUG {
 | |
| 		for _, logger := range l.loggers {
 | |
| 			logger.Debug(format, v...)
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // Error show error log
 | |
| func (l *XORMLogBridge) Error(v ...interface{}) {
 | |
| 	if l.level <= core.LOG_ERR {
 | |
| 		msg := fmt.Sprint(v...)
 | |
| 		l.writerMsg(0, ERROR, "[E]"+msg)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // Errorf show error log
 | |
| func (l *XORMLogBridge) Errorf(format string, v ...interface{}) {
 | |
| 	if l.level <= core.LOG_ERR {
 | |
| 		for _, logger := range l.loggers {
 | |
| 			logger.Error(0, format, v...)
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // Info show information level log
 | |
| func (l *XORMLogBridge) Info(v ...interface{}) {
 | |
| 	if l.level <= core.LOG_INFO {
 | |
| 		msg := fmt.Sprint(v...)
 | |
| 		l.writerMsg(0, INFO, "[I]"+msg)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // Infof show information level log
 | |
| func (l *XORMLogBridge) Infof(format string, v ...interface{}) {
 | |
| 	if l.level <= core.LOG_INFO {
 | |
| 		for _, logger := range l.loggers {
 | |
| 			logger.Info(format, v...)
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // Warn show warning log
 | |
| func (l *XORMLogBridge) Warn(v ...interface{}) {
 | |
| 	if l.level <= core.LOG_WARNING {
 | |
| 		msg := fmt.Sprint(v...)
 | |
| 		l.writerMsg(0, WARN, "[W] "+msg)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // Warnf show warnning log
 | |
| func (l *XORMLogBridge) Warnf(format string, v ...interface{}) {
 | |
| 	if l.level <= core.LOG_WARNING {
 | |
| 		for _, logger := range l.loggers {
 | |
| 			logger.Warn(format, v...)
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // Level get logger level
 | |
| func (l *XORMLogBridge) Level() core.LogLevel {
 | |
| 	return l.level
 | |
| }
 | |
| 
 | |
| // SetLevel set logger level
 | |
| func (l *XORMLogBridge) SetLevel(level core.LogLevel) {
 | |
| 	l.level = level
 | |
| }
 | |
| 
 | |
| // 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
 | |
| }
 |