Procházet zdrojové kódy

Added readme and screenshot

Luis Figueiredo před 8 roky
revize
8458cbd366
5 změnil soubory, kde provedl 90 přidání a 0 odebrání
  1. 21 0
      README.md
  2. binární
      doc/screen1.png
  3. 11 0
      global/register.go
  4. 47 0
      prettylog.go
  5. 11 0
      sample/main.go

+ 21 - 0
README.md

@@ -0,0 +1,21 @@
+prettylog
+===============
+
+Just a simple log prettyfier
+
+
+usage:
+------
+
+```go
+import (
+	_ "dev.hexasoftware.com/stdio/prettylog/global"
+	"log"
+)
+
+func main() {
+	log.Println("Hello world");
+}
+```
+
+![screen](doc/screen1.png)

binární
doc/screen1.png


+ 11 - 0
global/register.go

@@ -0,0 +1,11 @@
+package global
+
+import (
+	"hexasoftware/lib/prettylog"
+	"log"
+)
+
+func init() {
+	log.SetFlags(0)
+	log.SetOutput(prettylog.New())
+}

+ 47 - 0
prettylog.go

@@ -0,0 +1,47 @@
+package prettylog
+
+import (
+	"fmt"
+	"log"
+	"runtime"
+	"strings"
+	"time"
+)
+
+type PrettyLogWritter struct {
+	lastTime time.Time
+	counter  int64
+}
+
+func New() *PrettyLogWritter {
+	return &PrettyLogWritter{time.Now(), 0}
+}
+
+func (this *PrettyLogWritter) 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)
+
+	var fduration float64 = 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,
+		time.Now().Format("2006-01-02 15:04:05"),
+		fname,
+		line,
+		fduration,
+		string(b),
+	)
+	this.lastTime = time.Now()
+	this.counter++
+
+	return fmt.Print(msg)
+}
+
+func CreateLogger() *log.Logger {
+	return log.New(New(), "", 0)
+}

+ 11 - 0
sample/main.go

@@ -0,0 +1,11 @@
+package main
+
+import (
+	"log"
+
+	_ "dev.hexasoftware.com/stdio/prettylog/global"
+)
+
+func main() {
+	log.Println("Hello world")
+}