|
|
|
|
@ -4,6 +4,7 @@ import (
|
|
|
|
|
"io" |
|
|
|
|
"os" |
|
|
|
|
"sync" |
|
|
|
|
"sync/atomic" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
type Logger struct { |
|
|
|
|
@ -112,7 +113,7 @@ func (logger *Logger) WithError(err error) *Entry {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Debugf(format string, args ...interface{}) { |
|
|
|
|
if logger.Level >= DebugLevel { |
|
|
|
|
if logger.level() >= DebugLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Debugf(format, args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -120,7 +121,7 @@ func (logger *Logger) Debugf(format string, args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Infof(format string, args ...interface{}) { |
|
|
|
|
if logger.Level >= InfoLevel { |
|
|
|
|
if logger.level() >= InfoLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Infof(format, args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -134,7 +135,7 @@ func (logger *Logger) Printf(format string, args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Warnf(format string, args ...interface{}) { |
|
|
|
|
if logger.Level >= WarnLevel { |
|
|
|
|
if logger.level() >= WarnLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Warnf(format, args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -142,7 +143,7 @@ func (logger *Logger) Warnf(format string, args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Warningf(format string, args ...interface{}) { |
|
|
|
|
if logger.Level >= WarnLevel { |
|
|
|
|
if logger.level() >= WarnLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Warnf(format, args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -150,7 +151,7 @@ func (logger *Logger) Warningf(format string, args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Errorf(format string, args ...interface{}) { |
|
|
|
|
if logger.Level >= ErrorLevel { |
|
|
|
|
if logger.level() >= ErrorLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Errorf(format, args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -158,7 +159,7 @@ func (logger *Logger) Errorf(format string, args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Fatalf(format string, args ...interface{}) { |
|
|
|
|
if logger.Level >= FatalLevel { |
|
|
|
|
if logger.level() >= FatalLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Fatalf(format, args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -167,7 +168,7 @@ func (logger *Logger) Fatalf(format string, args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Panicf(format string, args ...interface{}) { |
|
|
|
|
if logger.Level >= PanicLevel { |
|
|
|
|
if logger.level() >= PanicLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Panicf(format, args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -175,7 +176,7 @@ func (logger *Logger) Panicf(format string, args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Debug(args ...interface{}) { |
|
|
|
|
if logger.Level >= DebugLevel { |
|
|
|
|
if logger.level() >= DebugLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Debug(args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -183,7 +184,7 @@ func (logger *Logger) Debug(args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Info(args ...interface{}) { |
|
|
|
|
if logger.Level >= InfoLevel { |
|
|
|
|
if logger.level() >= InfoLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Info(args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -197,7 +198,7 @@ func (logger *Logger) Print(args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Warn(args ...interface{}) { |
|
|
|
|
if logger.Level >= WarnLevel { |
|
|
|
|
if logger.level() >= WarnLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Warn(args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -205,7 +206,7 @@ func (logger *Logger) Warn(args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Warning(args ...interface{}) { |
|
|
|
|
if logger.Level >= WarnLevel { |
|
|
|
|
if logger.level() >= WarnLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Warn(args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -213,7 +214,7 @@ func (logger *Logger) Warning(args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Error(args ...interface{}) { |
|
|
|
|
if logger.Level >= ErrorLevel { |
|
|
|
|
if logger.level() >= ErrorLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Error(args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -221,7 +222,7 @@ func (logger *Logger) Error(args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Fatal(args ...interface{}) { |
|
|
|
|
if logger.Level >= FatalLevel { |
|
|
|
|
if logger.level() >= FatalLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Fatal(args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -230,7 +231,7 @@ func (logger *Logger) Fatal(args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Panic(args ...interface{}) { |
|
|
|
|
if logger.Level >= PanicLevel { |
|
|
|
|
if logger.level() >= PanicLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Panic(args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -238,7 +239,7 @@ func (logger *Logger) Panic(args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Debugln(args ...interface{}) { |
|
|
|
|
if logger.Level >= DebugLevel { |
|
|
|
|
if logger.level() >= DebugLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Debugln(args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -246,7 +247,7 @@ func (logger *Logger) Debugln(args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Infoln(args ...interface{}) { |
|
|
|
|
if logger.Level >= InfoLevel { |
|
|
|
|
if logger.level() >= InfoLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Infoln(args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -260,7 +261,7 @@ func (logger *Logger) Println(args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Warnln(args ...interface{}) { |
|
|
|
|
if logger.Level >= WarnLevel { |
|
|
|
|
if logger.level() >= WarnLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Warnln(args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -268,7 +269,7 @@ func (logger *Logger) Warnln(args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Warningln(args ...interface{}) { |
|
|
|
|
if logger.Level >= WarnLevel { |
|
|
|
|
if logger.level() >= WarnLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Warnln(args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -276,7 +277,7 @@ func (logger *Logger) Warningln(args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Errorln(args ...interface{}) { |
|
|
|
|
if logger.Level >= ErrorLevel { |
|
|
|
|
if logger.level() >= ErrorLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Errorln(args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -284,7 +285,7 @@ func (logger *Logger) Errorln(args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Fatalln(args ...interface{}) { |
|
|
|
|
if logger.Level >= FatalLevel { |
|
|
|
|
if logger.level() >= FatalLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Fatalln(args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -293,7 +294,7 @@ func (logger *Logger) Fatalln(args ...interface{}) {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) Panicln(args ...interface{}) { |
|
|
|
|
if logger.Level >= PanicLevel { |
|
|
|
|
if logger.level() >= PanicLevel { |
|
|
|
|
entry := logger.newEntry() |
|
|
|
|
entry.Panicln(args...) |
|
|
|
|
logger.releaseEntry(entry) |
|
|
|
|
@ -306,3 +307,11 @@ func (logger *Logger) Panicln(args ...interface{}) {
|
|
|
|
|
func (logger *Logger) SetNoLock() { |
|
|
|
|
logger.mu.Disable() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) level() Level { |
|
|
|
|
return Level(atomic.LoadUint32((*uint32)(&logger.Level))) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (logger *Logger) SetLevel(level Level) { |
|
|
|
|
atomic.StoreUint32((*uint32)(&logger.Level), uint32(level)) |
|
|
|
|
} |