Improve Logger

This commit is contained in:
Jinzhu 2014-01-03 19:23:41 +08:00
parent 84395b435b
commit 4125526ef6
5 changed files with 14 additions and 8 deletions

View File

@ -821,6 +821,9 @@ db.LogMode(true)
// Refer to gorm's default logger for how to format messages: https://github.com/jinzhu/gorm/blob/master/logger.go#files // Refer to gorm's default logger for how to format messages: https://github.com/jinzhu/gorm/blob/master/logger.go#files
db.SetLogger(log.New(os.Stdout, "\r\n", 0)) db.SetLogger(log.New(os.Stdout, "\r\n", 0))
// If you want to use gorm's default log format, then you could just do it like this
db.SetLogger(gorm.Logger{revel.TRACE})
// Disable logging // Disable logging
db.LogMode(false) db.LogMode(false)

View File

@ -102,8 +102,11 @@ func init() {
fmt.Println("testing postgres...") fmt.Println("testing postgres...")
db, err = Open("postgres", "user=gorm dbname=gorm sslmode=disable") db, err = Open("postgres", "user=gorm dbname=gorm sslmode=disable")
} }
// db.SetLogger(Logger{log.New(os.Stdout, "\r\n", 0)})
// db.SetLogger(log.New(os.Stdout, "\r\n", 0)) // db.SetLogger(log.New(os.Stdout, "\r\n", 0))
db.LogMode(false) db.LogMode(false)
if err != nil { if err != nil {
panic(fmt.Sprintf("No error should happen when connect database, but got %+v", err)) panic(fmt.Sprintf("No error should happen when connect database, but got %+v", err))
} }

View File

@ -8,18 +8,18 @@ import (
"time" "time"
) )
type Logger interface { type logger interface {
Print(v ...interface{}) Print(v ...interface{})
} }
type defaultLogger struct { type Logger struct {
*log.Logger *log.Logger
} }
//var default_logger = log.New(os.Stdout, "\r\n", 0) //var default_logger = log.New(os.Stdout, "\r\n", 0)
var default_logger = defaultLogger{log.New(os.Stdout, "\r\n", 0)} var default_logger = Logger{log.New(os.Stdout, "\r\n", 0)}
func (logger defaultLogger) Print(v ...interface{}) { func (logger Logger) Print(v ...interface{}) {
if len(v) > 1 { if len(v) > 1 {
level := v[0] level := v[0]
tim := "\033[33m[" + time.Now().Format("2006-01-02 15:04:05") + "]\033[0m" tim := "\033[33m[" + time.Now().Format("2006-01-02 15:04:05") + "]\033[0m"

View File

@ -15,7 +15,7 @@ type DB struct {
dialect dialect.Dialect dialect dialect.Dialect
tagIdentifier string tagIdentifier string
singularTable bool singularTable bool
logger Logger logger logger
logMode int logMode int
} }
@ -35,7 +35,7 @@ func (s *DB) SetTagIdentifier(str string) {
s.parent.tagIdentifier = str s.parent.tagIdentifier = str
} }
func (s *DB) SetLogger(l Logger) { func (s *DB) SetLogger(l logger) {
s.parent.logger = l s.parent.logger = l
} }

View File

@ -72,12 +72,12 @@ func (s *DB) hasError() bool {
func (s *DB) print(level string, v ...interface{}) { func (s *DB) print(level string, v ...interface{}) {
if s.logMode == 2 || level == "debug" { if s.logMode == 2 || level == "debug" {
if _, ok := s.parent.logger.(Logger); !ok { if _, ok := s.parent.logger.(logger); !ok {
fmt.Println("logger haven't been set, using os.Stdout") fmt.Println("logger haven't been set, using os.Stdout")
s.parent.logger = default_logger s.parent.logger = default_logger
} }
args := []interface{}{level} args := []interface{}{level}
s.parent.logger.(Logger).Print(append(args, v...)...) s.parent.logger.(logger).Print(append(args, v...)...)
} }
} }