Skip to content
A collection of (one) formatters for logrus
Go
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Initial commit Apr 10, 2018
.travis.yml Initial commit Apr 10, 2018
CHANGELOG.md Add caller line and file by default (#1) Dec 10, 2018
Gopkg.toml Initial commit Apr 10, 2018
LICENSE Initial commit Apr 10, 2018
README.md Add few readme enhancements (#2) Oct 24, 2018
gelf.go Add caller line and file by default (#1) Dec 10, 2018
gelf_test.go Add caller line and file by default (#1) Dec 10, 2018

README.md

go-logrus-formatters Build Status

This repository contains a set of logrus formatters.

Installation

Since this project supports semver, preferred way of installation is through dep or gomodules:

dep ensure -add github.com/fabienm/go-logrus-formatters

or

go get github.com/fabienm/go-logrus-formatters

GELF formatter

The GELF formatter supports 1.1 payload specification.

Notable features:

  • Logrus levels are converted to syslog levels
  • Logrus entries times are converted to UNIX timestamps.
  • Logrus entry fields are prefixed with _, excepted version, host, short_message, full_message, timestamp and level, allowing override.

Syslog level mapping

Logrus Syslog
Panic EMERG (0)
Fatal CRIT (2)
Error ERR (3)
Warn WARNING (4)
Info INFO (6)
Debug DEBUG (7)

Usage

package main

import (
	"os"

	"github.com/fabienm/go-logrus-formatters"
	log "github.com/sirupsen/logrus"
)

func init() {
	hostname, _ := os.Hostname()
	// Log as GELF instead of the default ASCII formatter.
	log.SetFormatter(formatters.NewGelf(hostname))
}

func main() {
	log.WithFields(log.Fields{
		"animal": "walrus",
		"size":   10,
	}).Info("A group of walrus emerges from the ocean")
	log.WithFields(log.Fields{
		"full_message":  "Backtrace here\n\nmore stuff",
		"user_id":      9001,
		"some_info":    "foo",
		"some_env_var": "bar",
	}).Fatal("A short message that helps you identify what is going on")
}

Output:

{"_animal":"walrus","_level_name":"INFORMATIONAL","_size":10,"host":"mylaptop","level":6,"short_message":"A group of walrus emerges from the ocean","timestamp":1522937330.7570872,"version":"1.1"}
{"_some_env_var":"bar","_some_info":"foo","_user_id":9001,"_level_name":"CRITICAL","full_message":"Backtrace here\n\nmore stuff","host":"mylaptop","level":2,"short_message":"A short message that helps you identify what is going on","timestamp":1522937330.7573297,"version":"1.1"}

See also

You can’t perform that action at this time.