1// Copyright 2015 The Xorm Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5// +build !windows,!nacl,!plan9 6 7package xorm 8 9import ( 10 "fmt" 11 "log/syslog" 12 13 "xorm.io/core" 14) 15 16var _ core.ILogger = &SyslogLogger{} 17 18// SyslogLogger will be depricated 19type SyslogLogger struct { 20 w *syslog.Writer 21 showSQL bool 22} 23 24// NewSyslogLogger implements core.ILogger 25func NewSyslogLogger(w *syslog.Writer) *SyslogLogger { 26 return &SyslogLogger{w: w} 27} 28 29// Debug log content as Debug 30func (s *SyslogLogger) Debug(v ...interface{}) { 31 s.w.Debug(fmt.Sprint(v...)) 32} 33 34// Debugf log content as Debug and format 35func (s *SyslogLogger) Debugf(format string, v ...interface{}) { 36 s.w.Debug(fmt.Sprintf(format, v...)) 37} 38 39// Error log content as Error 40func (s *SyslogLogger) Error(v ...interface{}) { 41 s.w.Err(fmt.Sprint(v...)) 42} 43 44// Errorf log content as Errorf and format 45func (s *SyslogLogger) Errorf(format string, v ...interface{}) { 46 s.w.Err(fmt.Sprintf(format, v...)) 47} 48 49// Info log content as Info 50func (s *SyslogLogger) Info(v ...interface{}) { 51 s.w.Info(fmt.Sprint(v...)) 52} 53 54// Infof log content as Infof and format 55func (s *SyslogLogger) Infof(format string, v ...interface{}) { 56 s.w.Info(fmt.Sprintf(format, v...)) 57} 58 59// Warn log content as Warn 60func (s *SyslogLogger) Warn(v ...interface{}) { 61 s.w.Warning(fmt.Sprint(v...)) 62} 63 64// Warnf log content as Warnf and format 65func (s *SyslogLogger) Warnf(format string, v ...interface{}) { 66 s.w.Warning(fmt.Sprintf(format, v...)) 67} 68 69// Level shows log level 70func (s *SyslogLogger) Level() core.LogLevel { 71 return core.LOG_UNKNOWN 72} 73 74// SetLevel always return error, as current log/syslog package doesn't allow to set priority level after syslog.Writer created 75func (s *SyslogLogger) SetLevel(l core.LogLevel) {} 76 77// ShowSQL set if logging SQL 78func (s *SyslogLogger) ShowSQL(show ...bool) { 79 if len(show) == 0 { 80 s.showSQL = true 81 return 82 } 83 s.showSQL = show[0] 84} 85 86// IsShowSQL if logging SQL 87func (s *SyslogLogger) IsShowSQL() bool { 88 return s.showSQL 89} 90