logger

package
v0.0.0-...-1202eb4 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2020 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddEncBuilder

func AddEncBuilder(name string, fn EncBuilder)

AddEncBuilder AFAIRE

func AddOutBuilder

func AddOutBuilder(name string, fn OutBuilder)

AddOutBuilder AFAIRE

func Build

func Build(opts options.Options) (interface{}, error)

Build AFAIRE

func GetFacilityFromString

func GetFacilityFromString(facility string) syslog.Priority

GetFacilityFromString TODO

Types

type EncBuilder

type EncBuilder func(string, options.Options) (Encoder, error)

EncBuilder AFAIRE

type Encoder

type Encoder interface {
	// AFAIRE
	Encode(runner string, lvl Level, msg string, ctx []interface{}, dt time.Time, out Output) ([]byte, error)
}

Encoder représente l'interface qui doit être implémentée par tous les encodeurs.

type FileOutput

type FileOutput struct {
	*WriterOutput
	// contains filtered or unexported fields
}

FileOutput AFAIRE

func NewFileOutput

func NewFileOutput(name string) (*FileOutput, error)

NewFileOutput AFAIRE

func (*FileOutput) Close

func (o *FileOutput) Close() error

Close AFAIRE

type Level

type Level int

Level représente un niveau de log.

const (
	// Trace
	TLevel Level = iota
	// Debug
	DLevel
	// Info
	ILevel
	// Notice
	NLevel
	// Warning
	WLevel
	// Error
	ELevel
	// Fatal
	FLevel
)

Les différents niveaux de log utilisables.

func GetLevelFromString

func GetLevelFromString(level string) Level

GetLevelFromString retourne le niveau de log correspondant à la chaîne de caractères passée en paramètre. Si celle-ci n'est pas valide, le niveau de log "TLevel" est utilisé par defaut.

type LogFmtEncoder

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

LogFmtEncoder AFAIRE

func NewLogFmtEncoder

func NewLogFmtEncoder() *LogFmtEncoder

NewLogFmtEncoder permet de créer une nouvelle instance d'un encodeur de type "LogFmtEncoder".

func (*LogFmtEncoder) Encode

func (e *LogFmtEncoder) Encode(
	runner string, lvl Level, msg string, ctx []interface{}, dt time.Time, out Output,
) ([]byte, error)

Encode encode le message de log.

type OutBuilder

type OutBuilder func(string, options.Options) (Output, error)

OutBuilder AFAIRE

type Output

type Output interface {
	// Est-ce que la date et l'heure doivent être écrites ?
	LogDateTime() bool
	// Est-ce que le niveau de log doit être écrit ?
	LogLevel() bool
	// Est-ce qu'un "\n" doit être ajouté à la fin du message ?
	AddNewLine() bool
	// Cette fonction écrit le message résultant de l'encodage.
	Log(level Level, buf []byte) error
	// Cette fonction, si nécessaire, ferme la sortie.
	Close() error
}

Output décrit l'interface qui doit être implémentée par toutes les sorties.

var Stderr Output = newStderrOutput()

Stderr correspond à la sortie standard "stderr".

var Stdout Output = newStdoutOutput()

Stdout correspond à la sortie standard "stdout".

type OutputProperties

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

OutputProperties permet de définir les propriétés d'une sortie.

func NewOutputProperties

func NewOutputProperties(fDateTime bool, fLevel bool, fNewLine bool) *OutputProperties

NewOutputProperties permet de créer une instance du type "OutputProperties".

func (*OutputProperties) AddNewLine

func (op *OutputProperties) AddNewLine() bool

AddNewLine permet d'indiquer à l'encodeur si il doit ajouté un "\n" à la fin du message.

func (*OutputProperties) LogDateTime

func (op *OutputProperties) LogDateTime() bool

LogDateTime permet d'indiquer à l'encodeur si il doit encodé la date et l'heure.

func (*OutputProperties) LogLevel

func (op *OutputProperties) LogLevel() bool

LogLevel permet d'indiquer à l'encodeur si il doit encodé le niveau de log.

type SyslogOutput

type SyslogOutput struct {
	*syslog.Writer
	*OutputProperties
}

SyslogOutput AFAIRE

func NewSyslogOutput

func NewSyslogOutput(facility string) (*SyslogOutput, error)

NewSyslogOutput AFAIRE

func (*SyslogOutput) Log

func (o *SyslogOutput) Log(level Level, buf []byte) error

Log AFAIRE

type WriterOutput

type WriterOutput struct {
	io.Writer
	*OutputProperties
}

WriterOutput permet de définir des sorties basées sur un "Writer".

func NewWriterOutput

func NewWriterOutput(iow io.Writer, op *OutputProperties) *WriterOutput

NewWriterOutput permet de créer une instance du type "WriterOutput".

func (*WriterOutput) Log

func (o *WriterOutput) Log(level Level, buf []byte) error

Log écrit le message résultant de l'encodage.

Jump to

Keyboard shortcuts

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