Skip to content

Latest commit

 

History

History
81 lines (67 loc) · 2.07 KB

README.md

File metadata and controls

81 lines (67 loc) · 2.07 KB

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-02 15:04:05.9999 main.main Line:21 - Log message

Sample Usage

Sample usage using available option to format output

package main

import (
	"os"

	"github.com/sirupsen/logrus"
	easy "github.com/yyeiei/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:       "[%level%]: %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"
	easy "github.com/t-tomalak/logrus-easy-formatter"
)

func main() {
	logger := &logrus.Logger{
		Out:   os.Stderr,
		Level: logrus.DebugLevel,
		Formatter: &easy.Formatter{
			LogFormat: "[%level%] %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.