63 lines
1.3 KiB
Go
63 lines
1.3 KiB
Go
package logger
|
|
|
|
import (
|
|
"fmt"
|
|
"sync"
|
|
"time"
|
|
|
|
"github.com/nezhahq/service"
|
|
)
|
|
|
|
var (
|
|
DefaultLogger = &ServiceLogger{enabled: true, logger: service.ConsoleLogger}
|
|
|
|
loggerOnce sync.Once
|
|
)
|
|
|
|
type ServiceLogger struct {
|
|
enabled bool
|
|
logger service.Logger
|
|
}
|
|
|
|
func InitDefaultLogger(enabled bool, logger service.Logger) {
|
|
loggerOnce.Do(func() {
|
|
DefaultLogger = &ServiceLogger{
|
|
enabled: enabled,
|
|
logger: logger,
|
|
}
|
|
})
|
|
}
|
|
|
|
func NewServiceLogger(enable bool, logger service.Logger) *ServiceLogger {
|
|
return &ServiceLogger{
|
|
enabled: enable,
|
|
logger: logger,
|
|
}
|
|
}
|
|
|
|
func (s *ServiceLogger) Println(v ...interface{}) {
|
|
if s.enabled {
|
|
s.logger.Infof("NEZHA@%s>> %v", time.Now().Format("2006-01-02 15:04:05"), fmt.Sprint(v...))
|
|
}
|
|
}
|
|
|
|
func (s *ServiceLogger) Printf(format string, v ...interface{}) {
|
|
if s.enabled {
|
|
s.logger.Infof("NEZHA@%s>> "+format, append([]interface{}{time.Now().Format("2006-01-02 15:04:05")}, v...)...)
|
|
}
|
|
}
|
|
|
|
func (s *ServiceLogger) Error(v ...interface{}) error {
|
|
if s.enabled {
|
|
return s.logger.Errorf("NEZHA@%s>> %v", time.Now().Format("2006-01-02 15:04:05"), fmt.Sprint(v...))
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (s *ServiceLogger) Errorf(format string, v ...interface{}) error {
|
|
if s.enabled {
|
|
return s.logger.Errorf("NEZHA@%s>> "+format, append([]interface{}{time.Now().Format("2006-01-02 15:04:05")}, v...)...)
|
|
}
|
|
return nil
|
|
}
|