logfmt

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

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

Go to latest
Published: Aug 7, 2018 License: BSD-3-Clause Imports: 10 Imported by: 0

README

logfmt

BSD-3-Clause Mature Build status Coverage status Go Report Card GolangCI Github issues Github pull requests GoDoc

A simple https://github.com/sirupsen/logrus log formatter. Includes

  • iso 8601 formatted date string - "2006-01-02T15:04:05.000Z07:00"
  • OS hostname
  • Log level
  • Log message
  • Additional fields
  • Caller - "file:line func"

Usage

import (
	log "github.com/sirupsen/logrus"
	logfmt "github.com/bdlm/logfmt"
)
Text format

Set the formatter:

log.SetFormatter(&logfmt.TextFormat{})

Produces:

time="2018-04-16T05:14:07.559Z" host="k8s-proxy-688fb8b57d-4rzt4" level="info" msg="starting kubernetes proxy" port="80" caller="proxy.go:252 github.com/bdlm/logfmt/pkg/proxy.(*Proxy).Start"
JSON format

Set the formatter

log.SetFormatter(&logfmt.JSONFormat{})

Produces:

{"time":"2018-04-16T06:23:37.133Z","level":"info","host":"k8s-proxy-7b77bfd8bd-7xcvn","msg":"starting kubernetes proxy","data":{"port":"80"},"caller":"proxy.go:258 github.com/bdlm/logfmt/pkg/proxy.(*Proxy).Start"}

Documentation

Overview

Package logfmt defines a custom log format in the form of: [ISO-8601-date] [level] [hostname] [caller] [message] [additional fields]

log.SetFormatter(&logfmt.textFormat{})
log.SetFormatter(&logfmt.jsonFormat{})

Index

Constants

View Source
const RFC3339Milli = "2006-01-02T15:04:05.000Z07:00"

RFC3339Milli defines an RFC3339 date format with miliseconds

Variables

This section is empty.

Functions

This section is empty.

Types

type JSONFormat

type JSONFormat struct {
	*log.JSONFormatter
}

JSONFormat extends log.JSONFormatter.

func (*JSONFormat) Format

func (l *JSONFormat) Format(entry *log.Entry) ([]byte, error)

Format is a custom log format method

type TextFormat

type TextFormat struct {
	*log.TextFormatter
}

TextFormat extends log.TextFormatter.

func (*TextFormat) Format

func (l *TextFormat) Format(entry *log.Entry) ([]byte, error)

Format is a custom log format method

Jump to

Keyboard shortcuts

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