|
|
@@ -27,17 +27,19 @@ type PackageLogger struct {
|
|
|
const calldepth = 2
|
|
|
|
|
|
func (p *PackageLogger) internalLog(depth int, inLevel LogLevel, entries ...interface{}) {
|
|
|
+ logger.Lock()
|
|
|
+ defer logger.Unlock()
|
|
|
if inLevel != CRITICAL && p.level < inLevel {
|
|
|
return
|
|
|
}
|
|
|
- logger.Lock()
|
|
|
- defer logger.Unlock()
|
|
|
if logger.formatter != nil {
|
|
|
logger.formatter.Format(p.pkg, inLevel, depth+1, entries...)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
func (p *PackageLogger) LevelAt(l LogLevel) bool {
|
|
|
+ logger.Lock()
|
|
|
+ defer logger.Unlock()
|
|
|
return p.level >= l
|
|
|
}
|
|
|
|
|
|
@@ -58,7 +60,7 @@ func (p *PackageLogger) Println(args ...interface{}) {
|
|
|
}
|
|
|
|
|
|
func (p *PackageLogger) Printf(format string, args ...interface{}) {
|
|
|
- p.internalLog(calldepth, INFO, fmt.Sprintf(format, args...))
|
|
|
+ p.Logf(INFO, format, args...)
|
|
|
}
|
|
|
|
|
|
func (p *PackageLogger) Print(args ...interface{}) {
|
|
|
@@ -80,8 +82,7 @@ func (p *PackageLogger) Panic(args ...interface{}) {
|
|
|
}
|
|
|
|
|
|
func (p *PackageLogger) Fatalf(format string, args ...interface{}) {
|
|
|
- s := fmt.Sprintf(format, args...)
|
|
|
- p.internalLog(calldepth, CRITICAL, s)
|
|
|
+ p.Logf(CRITICAL, format, args...)
|
|
|
os.Exit(1)
|
|
|
}
|
|
|
|
|
|
@@ -91,10 +92,16 @@ func (p *PackageLogger) Fatal(args ...interface{}) {
|
|
|
os.Exit(1)
|
|
|
}
|
|
|
|
|
|
+func (p *PackageLogger) Fatalln(args ...interface{}) {
|
|
|
+ s := fmt.Sprintln(args...)
|
|
|
+ p.internalLog(calldepth, CRITICAL, s)
|
|
|
+ os.Exit(1)
|
|
|
+}
|
|
|
+
|
|
|
// Error Functions
|
|
|
|
|
|
func (p *PackageLogger) Errorf(format string, args ...interface{}) {
|
|
|
- p.internalLog(calldepth, ERROR, fmt.Sprintf(format, args...))
|
|
|
+ p.Logf(ERROR, format, args...)
|
|
|
}
|
|
|
|
|
|
func (p *PackageLogger) Error(entries ...interface{}) {
|
|
|
@@ -104,7 +111,7 @@ func (p *PackageLogger) Error(entries ...interface{}) {
|
|
|
// Warning Functions
|
|
|
|
|
|
func (p *PackageLogger) Warningf(format string, args ...interface{}) {
|
|
|
- p.internalLog(calldepth, WARNING, fmt.Sprintf(format, args...))
|
|
|
+ p.Logf(WARNING, format, args...)
|
|
|
}
|
|
|
|
|
|
func (p *PackageLogger) Warning(entries ...interface{}) {
|
|
|
@@ -114,7 +121,7 @@ func (p *PackageLogger) Warning(entries ...interface{}) {
|
|
|
// Notice Functions
|
|
|
|
|
|
func (p *PackageLogger) Noticef(format string, args ...interface{}) {
|
|
|
- p.internalLog(calldepth, NOTICE, fmt.Sprintf(format, args...))
|
|
|
+ p.Logf(NOTICE, format, args...)
|
|
|
}
|
|
|
|
|
|
func (p *PackageLogger) Notice(entries ...interface{}) {
|
|
|
@@ -124,7 +131,7 @@ func (p *PackageLogger) Notice(entries ...interface{}) {
|
|
|
// Info Functions
|
|
|
|
|
|
func (p *PackageLogger) Infof(format string, args ...interface{}) {
|
|
|
- p.internalLog(calldepth, INFO, fmt.Sprintf(format, args...))
|
|
|
+ p.Logf(INFO, format, args...)
|
|
|
}
|
|
|
|
|
|
func (p *PackageLogger) Info(entries ...interface{}) {
|
|
|
@@ -134,20 +141,32 @@ func (p *PackageLogger) Info(entries ...interface{}) {
|
|
|
// Debug Functions
|
|
|
|
|
|
func (p *PackageLogger) Debugf(format string, args ...interface{}) {
|
|
|
- p.internalLog(calldepth, DEBUG, fmt.Sprintf(format, args...))
|
|
|
+ if p.level < DEBUG {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ p.Logf(DEBUG, format, args...)
|
|
|
}
|
|
|
|
|
|
func (p *PackageLogger) Debug(entries ...interface{}) {
|
|
|
+ if p.level < DEBUG {
|
|
|
+ return
|
|
|
+ }
|
|
|
p.internalLog(calldepth, DEBUG, entries...)
|
|
|
}
|
|
|
|
|
|
// Trace Functions
|
|
|
|
|
|
func (p *PackageLogger) Tracef(format string, args ...interface{}) {
|
|
|
- p.internalLog(calldepth, TRACE, fmt.Sprintf(format, args...))
|
|
|
+ if p.level < TRACE {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ p.Logf(TRACE, format, args...)
|
|
|
}
|
|
|
|
|
|
func (p *PackageLogger) Trace(entries ...interface{}) {
|
|
|
+ if p.level < TRACE {
|
|
|
+ return
|
|
|
+ }
|
|
|
p.internalLog(calldepth, TRACE, entries...)
|
|
|
}
|
|
|
|