/go-log-wrapper

logrus wrapper

Primary LanguageGoApache License 2.0Apache-2.0

go-log-wrapper

Build Status codecov GoDoc

simple logrus wrapper to use easily

Quick Usage

Print

import (
	"github.com/evalphobia/go-log-wrapper/log"
)

func main() {
	// Print
	log.Print("print me")
	// "print me"
	log.Dump("dump me")
	// "dump me"

	// Header
	log.Header()
	// "============================================="
	log.Header("header")
	// "===================== header ====================="

	// Mark
	log.Mark()
	// "main"
}

Logrus wrapper

import (
	"github.com/evalphobia/go-log-wrapper/log"
)

func main(){
	user := getUser()

	err := someFunc(user)
	if err != nil {
		log.Packet{
			Title: "error on someFunc",
			Data: user,
			Err: err,
			UserID: user.ID, // used for logrus_sentry
			Tag: "error", // used for logrus_fluent
		}.Error()

		//     Send as below:
		// logrus.WithFields(logrus.Fields{
		// 	"value":   user,
		// 	"error":   err,
		// 	"user_id": user.ID,
		// 	"tag":     "error",
		// }).Error("error on someFunc")
	}

}

Logrus Hook

import(
	"github.com/Sirupsen/logrus"
	"github.com/evalphobia/go-log-wrapper/log/fluent"
	"github.com/evalphobia/go-log-wrapper/log/sentry"
)

func main(){
	// fluentd
	fluent.AddLevel(logrus.DebugLevel)
	fluent.Set(host, port)

	// Sentry
	sentry.AddLevel(logrus.WarnLevel)
	sentry.Set("https://....:....@app.getsentry.com/99999")

	// AppNeta TraceView
	appneta.AddLevel(logrus.WarnLevel)
	appneta.Set()
}