From c6ccf96040888ae4fb7c97f09f4ed50c04b34766 Mon Sep 17 00:00:00 2001 From: Nash Tsai Date: Wed, 20 Aug 2014 10:39:35 +0800 Subject: [PATCH] update ILogger interface, and it's no longer compatible with log/syslog.Writer, due to performance design --- ilogger.go | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/ilogger.go b/ilogger.go index 531f97ba..e7f08b37 100644 --- a/ilogger.go +++ b/ilogger.go @@ -1,9 +1,28 @@ package core -// logger interface, log/syslog conform with this interface +type LogLevel int + +const ( + // !nashtsai! following level also match syslog.Priority value + LOG_UNKNOWN LogLevel = iota - 2 + LOG_OFF LogLevel = iota - 1 + LOG_ERR LogLevel = iota + 3 + LOG_WARNING + LOG_INFO LogLevel = iota + 6 + LOG_DEBUG +) + +// logger interface type ILogger interface { - Debug(m string) (err error) - Err(m string) (err error) - Info(m string) (err error) - Warning(m string) (err error) + Debug(v ...interface{}) (err error) + Debugf(format string, v ...interface{}) (err error) + Err(v ...interface{}) (err error) + Errf(format string, v ...interface{}) (err error) + Info(v ...interface{}) (err error) + Infof(format string, v ...interface{}) (err error) + Warning(v ...interface{}) (err error) + Warningf(format string, v ...interface{}) (err error) + + Level() LogLevel + SetLevel(l LogLevel) (err error) }