logrus

package module
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2020 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(opts ...Option) log.Logger

New create new logrus handler.

Example
package main

import (
	"context"
	"os"

	lrg "github.com/sirupsen/logrus"
	"gitoa.ru/go-4devs/log/logrus"
)

func createLogger() *lrg.Logger {
	lrgus := lrg.New()
	lrgus.SetFormatter(&lrg.JSONFormatter{
		DisableTimestamp: true,
	})
	lrgus.SetOutput(os.Stdout)
	lrgus.SetLevel(lrg.DebugLevel)

	return lrgus
}

type ctxKey string

func (c ctxKey) String() string {
	return string(c)
}

const ctxRequestID ctxKey = "requestID"

func getContext() context.Context {
	return context.WithValue(context.TODO(), ctxRequestID, "some requiest id")
}

func main() {
	logger := logrus.New(logrus.WithLogrus(createLogger()))
	logger.Info(getContext(), "some message")
}
Output:

{"level":"info","msg":"some message"}
Example (WithContext)
package main

import (
	"context"
	"os"

	lrg "github.com/sirupsen/logrus"
	"gitoa.ru/go-4devs/log"
	"gitoa.ru/go-4devs/log/logrus"
)

func createLogger() *lrg.Logger {
	lrgus := lrg.New()
	lrgus.SetFormatter(&lrg.JSONFormatter{
		DisableTimestamp: true,
	})
	lrgus.SetOutput(os.Stdout)
	lrgus.SetLevel(lrg.DebugLevel)

	return lrgus
}

type ctxKey string

func (c ctxKey) String() string {
	return string(c)
}

const ctxRequestID ctxKey = "requestID"

func getContext() context.Context {
	return context.WithValue(context.TODO(), ctxRequestID, "some requiest id")
}

func main() {
	logger := logrus.New(logrus.WithLogrus(createLogger())).With(log.GoVersion("goversion"), log.WithContextValue(ctxRequestID))
	logger.Info(getContext(), "some message")
}
Output:

{"goversion":"go1.15.2","level":"info","msg":"some message","requestID":"some requiest id"}

Types

type Option

type Option func(*logger)

Option configure logger.

func WithLevel

func WithLevel(level log.Level, c func(*logrus.Entry, string)) Option

WithLevel sets callback level to log level.

func WithLogrus added in v0.2.0

func WithLogrus(logrus *logrus.Logger) Option

WithLogrus sets logrus logger.

Jump to

Keyboard shortcuts

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