123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- package log
- import (
- "fmt"
- "github.com/davecgh/go-spew/spew"
- "os"
- "path/filepath"
- "runtime"
- "time"
- )
- var level = 0
- const (
-
- TRACE = 0
-
- DEBUG = 1
-
- INFO = 2
-
- WARNING = 3
-
- ERROR = 4
-
- FATAL = 5
- )
- type DumpObj struct {
- value []interface{}
- }
- func Init(plevel int) {
- level = plevel
- }
- func (d DumpObj) String() string {
- return spew.Sdump(d.value...)
- }
- func (d DumpObj) GoString() string {
- return spew.Sdump(d.value...)
- }
- func Dump(v ...interface{}) interface{} {
- return DumpObj{
- value: v,
- }
- }
- 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...))
- }
- }
- 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...))
- }
- }
- 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...))
- }
- }
- 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...))
- }
- }
- 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...))
- }
- }
- 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...))
- }
- }
- 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...))
- }
- }
- 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...))
- }
- }
- 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...))
- }
- }
- 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...))
- }
- }
|