syslogger.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. // +build !windows,!nacl,!plan9
  5. package xorm
  6. import (
  7. "fmt"
  8. "log/syslog"
  9. "github.com/xormplus/core"
  10. )
  11. var _ core.ILogger = &SyslogLogger{}
  12. // SyslogLogger will be depricated
  13. type SyslogLogger struct {
  14. w *syslog.Writer
  15. showSQL bool
  16. }
  17. func NewSyslogLogger(w *syslog.Writer) *SyslogLogger {
  18. return &SyslogLogger{w: w}
  19. }
  20. func (s *SyslogLogger) Debug(v ...interface{}) {
  21. s.w.Debug(fmt.Sprint(v...))
  22. }
  23. func (s *SyslogLogger) Debugf(format string, v ...interface{}) {
  24. s.w.Debug(fmt.Sprintf(format, v...))
  25. }
  26. func (s *SyslogLogger) Error(v ...interface{}) {
  27. s.w.Err(fmt.Sprint(v...))
  28. }
  29. func (s *SyslogLogger) Errorf(format string, v ...interface{}) {
  30. s.w.Err(fmt.Sprintf(format, v...))
  31. }
  32. func (s *SyslogLogger) Info(v ...interface{}) {
  33. s.w.Info(fmt.Sprint(v...))
  34. }
  35. func (s *SyslogLogger) Infof(format string, v ...interface{}) {
  36. s.w.Info(fmt.Sprintf(format, v...))
  37. }
  38. func (s *SyslogLogger) Warn(v ...interface{}) {
  39. s.w.Warning(fmt.Sprint(v...))
  40. }
  41. func (s *SyslogLogger) Warnf(format string, v ...interface{}) {
  42. s.w.Warning(fmt.Sprintf(format, v...))
  43. }
  44. func (s *SyslogLogger) Level() core.LogLevel {
  45. return core.LOG_UNKNOWN
  46. }
  47. // SetLevel always return error, as current log/syslog package doesn't allow to set priority level after syslog.Writer created
  48. func (s *SyslogLogger) SetLevel(l core.LogLevel) {}
  49. func (s *SyslogLogger) ShowSQL(show ...bool) {
  50. if len(show) == 0 {
  51. s.showSQL = true
  52. return
  53. }
  54. s.showSQL = show[0]
  55. }
  56. func (s *SyslogLogger) IsShowSQL() bool {
  57. return s.showSQL
  58. }