easy

package module
v0.0.0-...-c074f06 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2019 License: MIT Imports: 4 Imported by: 137

README

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.

Documentation

Overview

Package easy allows to easily format output of Logrus logger

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Formatter

type Formatter struct {
	// Timestamp format
	TimestampFormat string
	// Available standard keys: time, msg, lvl
	// Also can include custom fields but limited to strings.
	// All of fields need to be wrapped inside %% i.e %time% %msg%
	LogFormat string
}

Formatter implements logrus.Formatter interface.

func (*Formatter) Format

func (f *Formatter) Format(entry *logrus.Entry) ([]byte, error)

Format building log message.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL