|
@@ -8,40 +8,44 @@ import (
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
-type PrettyLogWritter struct {
|
|
|
+// Writer struct that implements writer
|
|
|
+type Writer struct {
|
|
|
lastTime time.Time
|
|
|
counter int64
|
|
|
}
|
|
|
|
|
|
-func New() *PrettyLogWritter {
|
|
|
- return &PrettyLogWritter{time.Now(), 0}
|
|
|
+// New writer
|
|
|
+func New() *Writer {
|
|
|
+ return &Writer{time.Now(), 0}
|
|
|
}
|
|
|
|
|
|
-func (this *PrettyLogWritter) Write(b []byte) (int, error) {
|
|
|
+// Write writer implementation
|
|
|
+func (w *Writer) Write(b []byte) (int, error) {
|
|
|
|
|
|
ptr, _, line, _ := runtime.Caller(3)
|
|
|
tname := runtime.FuncForPC(ptr).Name()
|
|
|
li := strings.LastIndex(tname, "/")
|
|
|
fname := tname[li+1:]
|
|
|
|
|
|
- timeDiff := time.Since(this.lastTime)
|
|
|
+ timeDiff := time.Since(w.lastTime)
|
|
|
|
|
|
- var fduration float64 = float64(timeDiff.Nanoseconds()) / 1000000.0
|
|
|
+ var fduration = float64(timeDiff.Nanoseconds()) / 1000000.0
|
|
|
|
|
|
msg := fmt.Sprintf("[%d:\033[34m%s\033[0m (\033[33m%s:%d\033[0m) \033[90m+%.2f/ms\033[0m]: %s",
|
|
|
- this.counter,
|
|
|
+ w.counter,
|
|
|
time.Now().Format("2006-01-02 15:04:05"),
|
|
|
fname,
|
|
|
line,
|
|
|
fduration,
|
|
|
string(b),
|
|
|
)
|
|
|
- this.lastTime = time.Now()
|
|
|
- this.counter++
|
|
|
+ w.lastTime = time.Now()
|
|
|
+ w.counter++
|
|
|
|
|
|
return fmt.Print(msg)
|
|
|
}
|
|
|
|
|
|
+//CreateLogger creates a new log.Logger
|
|
|
func CreateLogger() *log.Logger {
|
|
|
return log.New(New(), "", 0)
|
|
|
}
|