« Back to Index

Go: Logrus JSON Example

View original Gist on GitHub

Tags: #go #json #logs

Golang Logrus JSON Example.go

// https://play.golang.org/p/5H9ZV7Hqc6D

package main

import (
	"github.com/sirupsen/logrus"
)

func main() {
	logger := logrus.New()
	logger.SetFormatter(&logrus.JSONFormatter{
		FieldMap: logrus.FieldMap{
			logrus.FieldKeyMsg: "message", // uses `message` instead of `msg` field
		},
	})
    logger.SetLevel(logrus.InfoLevel)

	baselineLogger := logger.WithFields(logrus.Fields{
		"foo": logrus.Fields{
			"bar": 123,
			"baz": "abc",
		},
	}).WithFields(logrus.Fields{
		"bar": logrus.Fields{
			"baz": 456,
			"qux": "xyz",
		},
	})

	baselineLogger.WithFields(logrus.Fields{"beep": "boop"}).Info("HERE")
  
  	// {"bar":{"baz":456,"qux":"xyz"},"beep":"boop","foo":{"bar":123,"baz":"abc"},"level":"info","message":"HERE","time":"2009-11-10T23:00:00Z"}
}