xorm/syslogger.go

90 lines
2.0 KiB
Go
Raw Normal View History

2015-04-28 08:25:04 +00:00
// Copyright 2015 The Xorm Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
2014-08-21 03:41:37 +00:00
// +build !windows,!nacl,!plan9
2014-08-21 03:40:55 +00:00
2014-08-21 03:50:23 +00:00
package xorm
2014-08-21 03:40:55 +00:00
import (
"fmt"
"log/syslog"
"xorm.io/core"
2014-08-21 03:40:55 +00:00
)
2016-02-16 14:41:05 +00:00
var _ core.ILogger = &SyslogLogger{}
2016-03-01 10:23:33 +00:00
// SyslogLogger will be depricated
2014-08-21 03:40:55 +00:00
type SyslogLogger struct {
2016-02-16 14:41:05 +00:00
w *syslog.Writer
showSQL bool
2014-08-21 03:40:55 +00:00
}
2016-12-11 04:45:37 +00:00
// NewSyslogLogger implements core.ILogger
2014-08-21 03:40:55 +00:00
func NewSyslogLogger(w *syslog.Writer) *SyslogLogger {
return &SyslogLogger{w: w}
}
2016-12-11 04:45:37 +00:00
// Debug log content as Debug
func (s *SyslogLogger) Debug(v ...interface{}) {
s.w.Debug(fmt.Sprint(v...))
2014-08-21 03:40:55 +00:00
}
2016-12-11 04:45:37 +00:00
// Debugf log content as Debug and format
func (s *SyslogLogger) Debugf(format string, v ...interface{}) {
s.w.Debug(fmt.Sprintf(format, v...))
2014-08-21 03:40:55 +00:00
}
2016-12-11 04:45:37 +00:00
// Error log content as Error
func (s *SyslogLogger) Error(v ...interface{}) {
s.w.Err(fmt.Sprint(v...))
2014-08-21 03:40:55 +00:00
}
2016-12-11 04:45:37 +00:00
// Errorf log content as Errorf and format
func (s *SyslogLogger) Errorf(format string, v ...interface{}) {
s.w.Err(fmt.Sprintf(format, v...))
2014-08-21 03:40:55 +00:00
}
2016-12-11 04:45:37 +00:00
// Info log content as Info
func (s *SyslogLogger) Info(v ...interface{}) {
s.w.Info(fmt.Sprint(v...))
2014-08-21 03:40:55 +00:00
}
2016-12-11 04:45:37 +00:00
// Infof log content as Infof and format
func (s *SyslogLogger) Infof(format string, v ...interface{}) {
s.w.Info(fmt.Sprintf(format, v...))
2014-08-21 03:40:55 +00:00
}
2016-12-11 04:45:37 +00:00
// Warn log content as Warn
func (s *SyslogLogger) Warn(v ...interface{}) {
s.w.Warning(fmt.Sprint(v...))
2014-08-21 03:40:55 +00:00
}
2016-12-11 04:45:37 +00:00
// Warnf log content as Warnf and format
func (s *SyslogLogger) Warnf(format string, v ...interface{}) {
s.w.Warning(fmt.Sprintf(format, v...))
2014-08-21 03:40:55 +00:00
}
2016-12-11 04:45:37 +00:00
// Level shows log level
2014-08-21 03:40:55 +00:00
func (s *SyslogLogger) Level() core.LogLevel {
return core.LOG_UNKNOWN
}
// SetLevel always return error, as current log/syslog package doesn't allow to set priority level after syslog.Writer created
func (s *SyslogLogger) SetLevel(l core.LogLevel) {}
2016-02-16 14:41:05 +00:00
2016-12-11 04:45:37 +00:00
// ShowSQL set if logging SQL
2016-02-16 14:41:05 +00:00
func (s *SyslogLogger) ShowSQL(show ...bool) {
if len(show) == 0 {
s.showSQL = true
return
}
s.showSQL = show[0]
}
2016-12-11 04:45:37 +00:00
// IsShowSQL if logging SQL
2016-02-16 14:41:05 +00:00
func (s *SyslogLogger) IsShowSQL() bool {
return s.showSQL
}