/logger.go
Go | 51 lines | 44 code | 7 blank | 0 comment | 2 complexity | 34ba462cca4aae884d50d28e04b08dcc MD5 | raw file
- package jet
- import (
- "fmt"
- "log"
- "os"
- "strings"
- )
- type Logger struct {
- Logger *log.Logger
- QueryColor string
- TxnColor string
- ArgsColor string
- ResetColor string
- parts []string
- }
- func NewLogger(file *os.File) *Logger {
- if file == nil {
- file = os.Stdout
- }
- return &Logger{
- Logger: log.New(file, "SQL: ", log.LstdFlags),
- QueryColor: "\x1b[35m",
- TxnColor: "\x1b[36m",
- ArgsColor: "\x1b[33m",
- ResetColor: "\x1b[0m",
- parts: []string{},
- }
- }
- func (l *Logger) Queryf(format string, args ...interface{}) *Logger {
- l.parts = append(l.parts, fmt.Sprintf("%s%s%s", l.QueryColor, fmt.Sprintf(format, args...), l.ResetColor))
- return l
- }
- func (l *Logger) Txnf(format string, args ...interface{}) *Logger {
- l.parts = append(l.parts, fmt.Sprintf("%s%s%s", l.TxnColor, fmt.Sprintf(format, args...), l.ResetColor))
- return l
- }
- func (l *Logger) Argsf(format string, args ...interface{}) *Logger {
- l.parts = append(l.parts, fmt.Sprintf("%s%s%s", l.ArgsColor, fmt.Sprintf(format, args...), l.ResetColor))
- return l
- }
- func (l *Logger) Println() {
- l.Logger.Println(strings.Join(l.parts, ""))
- l.parts = []string{}
- }