rotatehook

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2024 License: MIT Imports: 3 Imported by: 0

README

logrus-hook-rotate

Go Report Card GoDoc

This is a simple hook for logrus andoma-go/logrus to write log files using natefinch/lumberjack

Usage

import (
	"github.com/andoma-go/logrus"
	nested "github.com/andoma-go/logrus-formatter-nested"
	rotatehook "github.com/andoma-go/logrus-hook-rotate"
	"github.com/mattn/go-colorable"
)

log := &logrus.Logger{
	Out: colorable.NewColorableStdout(),
	Formatter: &nested.Formatter{
		TimestampFormat: "2006-01-02 15:04:05",
		HideKeys:        true,
	},
	Hooks: make(logrus.LevelHooks),
	Level: logrus.InfoLevel,
}

hook := rotatehook.NewRotateHook(&rotatehook.Config{
	Filename:   "debug.log",
	MaxSize:    5,
	MaxAge:     30,
	MaxBackups: 10,
	LocalTime:  true,
	Compress:   true,
	Formatter: &nested.Formatter{
		TimestampFormat: "2006-01-02 15:04:05",
		HideKeys:        true,
		NoColors:        true,
	},
	Level:   logrus.DebugLevel,
	Enabled: true,
})

log.AddHook(hook)

log.Infoln("just info message")
log.Debugln("first debug message")

hook.SetEnabled(false)
log.Debugln("second debug message")

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Filename   string
	MaxSize    int
	MaxAge     int
	MaxBackups int
	LocalTime  bool
	Compress   bool
	Formatter  logrus.Formatter
	Level      logrus.Level
	Enabled    bool
}

type RotateHook

type RotateHook struct {
	// contains filtered or unexported fields
}

func NewRotateHook

func NewRotateHook(cfg *Config) *RotateHook

func (*RotateHook) Enabled

func (h *RotateHook) Enabled() bool

func (*RotateHook) Fire

func (h *RotateHook) Fire(entry *logrus.Entry) (err error)

func (*RotateHook) Levels

func (h *RotateHook) Levels() []logrus.Level

func (*RotateHook) SetEnabled

func (h *RotateHook) SetEnabled(enabled bool)

Jump to

Keyboard shortcuts

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