t-tomalak / logrus-easy-formatter

logrus-easy-formatter is package that allows to easily customize Logrus output format

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

status Go Report Card

Logrus Easy Formatter

Provided formatter allow to easily format Logrus log output Some inspiration taken from logrus-prefixed-formatter

Default output

When format options are not provided Formatter will output

[INFO]: 2006-01-02T15:04:05Z07:00 - Log message

Sample Usage

Sample usage using available option to format output

package main

import (
	"os"

	"github.com/sirupsen/logrus"
	"github.com/t-tomalak/logrus-easy-formatter"
)

func main() {
	logger := &logrus.Logger{
		Out:   os.Stderr,
		Level: logrus.DebugLevel,
		Formatter: &easy.Formatter{
			TimestampFormat: "2006-01-02 15:04:05",
			LogFormat:       "[%lvl%]: %time% - %msg%",
		},
	}

	logger.Printf("Log message")
}

Above sample will produce:

[INFO]: 27-02-2018 19:16:55 - Log message
Usage with custom fields

Package also allows to include custom fields and format them(for now only limited to strings)

package main

import (
	"os"

	"github.com/sirupsen/logrus"
	"github.com/t-tomalak/logrus-easy-formatter"
)

func main() {
	logger := &logrus.Logger{
		Out:   os.Stderr,
		Level: logrus.DebugLevel,
		Formatter: &easy.Formatter{
			LogFormat: "[%lvl%]: %time% - %msg% {%customField%}",
		},
	}

	logger.WithField("customField", "Sample value").Printf("Log message")
}

And after running will output

[INFO]: 27-02-2018 19:16:55 - Log message - {Sample value}

ToDo

  • Customizable timestamp formats
  • Customizable output formats
  • Add tests
  • Support for custom fields other then string
  • Tests against all characters

License

This project is under the MIT License. See the LICENSE file for the full license text.

About

logrus-easy-formatter is package that allows to easily customize Logrus output format

License:MIT License


Languages

Language:Go 100.0%