Denmaseno 9 rokov pred
rodič
commit
10188cbd59
1 zmenil súbory, kde vykonal 148 pridanie a 0 odobranie
  1. 148 0
      log.go

+ 148 - 0
log.go

@@ -0,0 +1,148 @@
+package log
+
+import (
+	"fmt"
+	"github.com/davecgh/go-spew/spew"
+	"os"
+	"path/filepath"
+	"runtime"
+	"time"
+)
+
+var level = 0
+
+const (
+	// TRACE level
+	TRACE = 0
+
+	// DEBUG level
+	DEBUG = 1
+
+	// INFO level
+	INFO = 2
+
+	// WARNING level
+	WARNING = 3
+
+	// ERROR level
+	ERROR = 4
+
+	// FATAL level
+	FATAL = 5
+)
+
+// DumpObj struct
+type DumpObj struct {
+	value []interface{}
+}
+
+// Init logger
+func Init(plevel int) {
+	level = plevel
+}
+
+func (d DumpObj) String() string {
+	return spew.Sdump(d.value...)
+}
+
+// GoString func
+func (d DumpObj) GoString() string {
+	return spew.Sdump(d.value...)
+}
+
+// Dump object
+func Dump(v ...interface{}) interface{} {
+	return DumpObj{
+		value: v,
+	}
+}
+
+// Trace log
+func Trace(a ...interface{}) {
+	if level <= TRACE {
+		_, path, line, _ := runtime.Caller(1)
+		_, file := filepath.Split(path)
+		fmt.Printf("TRACE: %s %v:%v: %s\n", time.Now().Format("01:04:05.000"), file, line, fmt.Sprint(a...))
+	}
+}
+
+// Tracef log
+func Tracef(format string, a ...interface{}) {
+	if level <= TRACE {
+		_, path, line, _ := runtime.Caller(1)
+		_, file := filepath.Split(path)
+		fmt.Printf("TRACE: %s %v:%v: %s\n", time.Now().Format("01:04:05.000"), file, line, fmt.Sprintf(format, a...))
+	}
+}
+
+// Debug log
+func Debug(a ...interface{}) {
+	if level <= DEBUG {
+		_, path, line, _ := runtime.Caller(1)
+		_, file := filepath.Split(path)
+		fmt.Printf("DEBUG: %s %v:%v: %s\n", time.Now().Format("01:04:05.000"), file, line, fmt.Sprint(a...))
+	}
+}
+
+// Debugf log
+func Debugf(format string, a ...interface{}) {
+	if level <= DEBUG {
+		_, path, line, _ := runtime.Caller(1)
+		_, file := filepath.Split(path)
+		fmt.Printf("DEBUG: %s %v:%v: %s\n", time.Now().Format("01:04:05.000"), file, line, fmt.Sprintf(format, a...))
+	}
+}
+
+// Info log
+func Info(a ...interface{}) {
+	if level <= INFO {
+		_, path, line, _ := runtime.Caller(1)
+		_, file := filepath.Split(path)
+		fmt.Printf("INFO: %s %v:%v: %s\n", time.Now().Format("01:04:05.000"), file, line, fmt.Sprint(a...))
+	}
+}
+
+// Infof log
+func Infof(format string, a ...interface{}) {
+	if level <= INFO {
+		_, path, line, _ := runtime.Caller(1)
+		_, file := filepath.Split(path)
+		fmt.Printf("INFO: %s %v:%v: %s\n", time.Now().Format("01:04:05.000"), file, line, fmt.Sprintf(format, a...))
+	}
+}
+
+// Warning log
+func Warning(a ...interface{}) {
+	if level <= WARNING {
+		_, path, line, _ := runtime.Caller(1)
+		_, file := filepath.Split(path)
+		fmt.Printf("WARN: %s %v:%v: %s\n", time.Now().Format("01:04:05.000"), file, line, fmt.Sprint(a...))
+	}
+}
+
+// Warningf log
+func Warningf(format string, a ...interface{}) {
+	if level <= WARNING {
+		_, path, line, _ := runtime.Caller(1)
+		_, file := filepath.Split(path)
+		fmt.Printf("WARN: %s %v:%v: %s\n", time.Now().Format("01:04:05.000"), file, line, fmt.Sprintf(format, a...))
+	}
+}
+
+// Error log
+func Error(a ...interface{}) {
+	if level <= ERROR {
+		_, path, line, _ := runtime.Caller(1)
+		_, file := filepath.Split(path)
+		fmt.Fprintf(os.Stderr, "ERROR: %s %v:%v: %s\n", time.Now().Format("01:04:05.000"), file, line, fmt.Sprint(a...))
+	}
+}
+
+// Errorf log
+func Errorf(format string, a ...interface{}) {
+	if level <= ERROR {
+		_, path, line, _ := runtime.Caller(1)
+		_, file := filepath.Split(path)
+		fmt.Fprintf(os.Stderr, "ERROR: %s %v:%v: %s\n", time.Now().Format("01:04:05.000"), file, line, fmt.Sprintf(format, a...))
+	}
+}