bosco

package module
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Dec 24, 2019 License: MIT Imports: 8 Imported by: 0

README

bosco

L'incontournable "logger"

Documentation

Index

Constants

View Source
const Version = "0.3.0"

Version est le numéro de la version actuelle de ce module.

Variables

This section is empty.

Functions

func SetErrorHandler

func SetErrorHandler(fn func(error))

SetErrorHandler permet de spécifier une fonction à appeler en cas d'erreur lors de l'encodage ou de l'envoi vers la sortie.

Types

type Encoder

type Encoder interface {
	// Encode le message de log dans un format propre à l'encodeur.
	Encode(message *Message) ([]byte, error)
}

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

func NewStdEncoder

func NewStdEncoder() Encoder

NewStdEncoder permet de créer une nouvelle instance d'un encodeur de type "StdEncoder".

type Level

type Level uint32

Level représente un niveau de log.

const (
	TRACE Level = iota
	DEBUG
	INFO
	NOTICE
	WARNING
	ERROR
	FATAL
)

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 TRACE est utilisé par defaut.

type Logger

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

Logger représente un logger.

func New

func New(level Level, output Output, encoder Encoder, runner string) *Logger

New permet de créer un nouveau "Logger".

func (*Logger) Debug

func (logger *Logger) Debug() *Message

Debug permet de débuter la création d'un message de niveau DEBUG.

func (*Logger) Error

func (logger *Logger) Error() *Message

Error permet de débuter la création d'un message de niveau ERROR.

func (*Logger) Fatal

func (logger *Logger) Fatal() *Message

Fatal permet de débuter la création d'un message de niveau FATAL.

func (*Logger) Info

func (logger *Logger) Info() *Message

Info permet de débuter la création d'un message de niveau INFO.

func (*Logger) Notice

func (logger *Logger) Notice() *Message

Notice permet de débuter la création d'un message de niveau NOTICE.

func (*Logger) Set

func (logger *Logger) Set(key string, value interface{}) *Logger

Set permet d'ajouter une paire clé/valeur au contexte.

func (*Logger) SetEncoder

func (logger *Logger) SetEncoder(encoder Encoder)

SetEncoder permet de modifier la façon d'encoder les messages.

func (*Logger) SetLevel

func (logger *Logger) SetLevel(level Level)

SetLevel permet de modifier le niveau de log.

func (*Logger) SetOutput

func (logger *Logger) SetOutput(output Output)

SetOutput permet de modifier la sortie utilisée pour les messages

func (*Logger) SetRunner

func (logger *Logger) SetRunner(runner string)

SetRunner permet de modifier le "runner".

func (*Logger) Setf

func (logger *Logger) Setf(key string, format string, args ...interface{}) *Logger

Setf permet d'ajouter une paire clé/valeur au contexte. La valeur est créée via l'utilisation d'une chaine de formatage et d'arguments.

func (*Logger) Trace

func (logger *Logger) Trace() *Message

Trace permet de débuter la création d'un message de niveau TRACE.

func (*Logger) Warning

func (logger *Logger) Warning() *Message

Warning permet de débuter la création d'un message de niveau WARNING.

type Message

type Message struct {
	// Les attributs du logger à l'origine de ce message.
	Logger *loggerFields
	// Le niveau de log du message.
	Level Level
	// La date et l'heure de création du message.
	DateTime time.Time
	// Le libellé du message.
	Label string
	// L'ensemble de clé/valeur correspondant au contexte du message.
	Context []interface{}
}

Message représente un message de log. Une instance de ce type est utilisée à chaque fois qu'un log doit être effectué.

func (*Message) Msg

func (message *Message) Msg(label string)

Msg permet de définir le libellé du message. L'appel à cette fonction déclenche l'encodage et l'envoi vers la sortie.

func (*Message) Msgf

func (message *Message) Msgf(format string, args ...interface{})

Msgf permet de définir le libellé du message. Le message est créé via l'utilisation d'une chaine de formatagae et d'arguments. L'appel à cette fonction déclenche l'encodage et l'envoi vers la sortie.

func (*Message) Set

func (message *Message) Set(key string, value interface{}) *Message

Set permet d'ajouter une paire clé/valeur au contexte.

func (*Message) Setf

func (message *Message) Setf(key string, format string, args ...interface{}) *Message

Setf permet d'ajouter une paire clé/valeur au contexte. La valeur est créée via l'utilisation d'une chaine de formatage et d'arguments.

type Output

type Output interface {
	// Indique si la date et l'heure doivent être encodées.
	LogDateTime() bool
	// Indique si le niveau de log doit être encodé.
	LogLevel() bool
	// Indique si un "\n" doit être ajouté à la fin du message par l'encodeur.
	AddNewLine() bool
	// Cette fonction écrit les données du buffer résultant de l'encodage.
	Log(level Level, buffer []byte) error
}

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

func NewStderrOutput

func NewStderrOutput() Output

NewStderrOutput permet de créer une sortie pour Stderr.

func NewStdoutOutput

func NewStdoutOutput() Output

NewStdoutOutput permet de créer une sortie pour 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(logDateTime bool, logLevel bool, addNewLine 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 StdEncoder

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

StdEncoder représente l'encodeur standard. Il encode au format "logfmt" le contexte du message.

func (*StdEncoder) Encode

func (encoder *StdEncoder) Encode(message *Message) ([]byte, error)

Encode encode le message de log.

type WriterOutput

type WriterOutput struct {
	io.Writer
	*OutputProperties
	// contains filtered or unexported fields
}

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 (output *WriterOutput) Log(level Level, buffer []byte) error

Log écrit les données du buffer résultant de l'encodage.

Jump to

Keyboard shortcuts

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