Documentation ¶
Index ¶
- func SetErrorHandler(fn func(error))
- type Context
- type Encoder
- type Event
- type Level
- type LogFmtEncoder
- type Logger
- func (logger Logger) Context() *Context
- func (logger *Logger) Debug() *Event
- func (logger *Logger) Error() *Event
- func (logger *Logger) Fatal() *Event
- func (logger Logger) GetLevel() Level
- func (logger *Logger) Info() *Event
- func (logger *Logger) Notice() *Event
- func (logger Logger) Runner(id string, name string) Logger
- func (logger Logger) SetLevel(level Level) Logger
- func (logger *Logger) Trace() *Event
- func (logger *Logger) Warning() *Event
- type Output
- type OutputProperties
- type Runner
- type SyslogOutput
- type WriterOutput
Constants ¶
This section is empty.
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 Context ¶
type Context struct {
// contains filtered or unexported fields
}
Context représente un contexte composé d'un ensemble de clé/valeur.
type Encoder ¶
type Encoder interface { // Encode l'évènement de log au format propre à l'encodeur. Encode(event *Event) ([]byte, error) }
Encoder représente l'interface qui doit être implémenter par tous les encodeurs.
func GetEnvEncoder ¶
func GetEnvEncoder() Encoder
GetEnvEncoder permet de créer une instance de l'encodeur spécifié par la variable d'environnement: ARMEN_LOGGER_ENCODER
func NewLogFmtEncoder ¶
func NewLogFmtEncoder() Encoder
NewLogFmtEncoder permet de créer une instance d'un encodeur de type "LogFmtEncoder".
type Event ¶
type Event struct { // Le niveau de log. Level Level // L'application, le service... en cours d'exécution ou nil. Runner *Runner // La date et l'heure de création du log. Timestamp time.Time // L'ensemble de clé/valeur à associées au message. KeyValues []interface{} // Le message de log. Message string // La sortie vers où envoyer le log. Output Output // contains filtered or unexported fields }
Event représente un évènement de log. Une instance de ce type est utilisée à chaque fois qu'un log doit être effectué.
func (*Event) Msg ¶
Msg permet de définir le message de log pour cet évènement. L'appel à cette fonction déclenche l'encodage et l'envoi vers la sortie.
func (*Event) Msgf ¶
Msgf permet de définir le message de log pour cet évènement. Le message est créé via l'utilisation d'une chaine de format et de paramètres. L'appel à cette fonction déclenche l'encodage et l'envoi vers la sortie.
type Level ¶
type Level int32
Level représente un niveau de log.
Les différents niveaux de log utilisables.
func GetEnvLevel ¶
func GetEnvLevel() Level
GetEnvLevel permet de récupérer le niveau de log spécifié par la variable d'environnement: ARMEN_LOGGER_LEVEL
func GetLevelFromString ¶
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 LogFmtEncoder ¶
type LogFmtEncoder struct{}
LogFmtEncoder représente l'encodeur qui utilise le format "logfmt" pour encoder l'évènement de log. En fait, seuls les couples clé/valeur de l'évènement sont au format "logfmt". Lien: https://brandur.org/logfmt
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger représente un "logger".
func GetEnvLogger ¶
func GetEnvLogger() Logger
GetEnvLogger permet d'instancier un logger via l'utilisation des différentes variables d'environnement.
func (Logger) Context ¶
Context permet de créer un nouveau contexte en clonant le contexte courant. La fonction "Logger()" du contexte peut être utilisée pour récupérer le logger.
type Output ¶
type Output interface { // Indique si le niveau de log doit être encodé. Level() bool // Indique si la date et l'heure doivent être encodées. Timestamp() bool // Indique si un "\n" doit être ajouté à la fin du message par l'encodeur. NewLine() 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 GetEnvOutput ¶
func GetEnvOutput() Output
GetEnvOutput permet de créer une instance de la sortie spécifiée par la variable d'environnement: ARMEN_LOGGER_OUTPUT
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.
func NewSyslogOutput ¶
NewSyslogOutput permet de créer une instance du type "SyslogOutput".
func NewWriterOutput ¶
func NewWriterOutput(iow io.Writer, op *OutputProperties) Output
NewWriterOutput permet de créer une instance du type "WriterOutput".
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(logLevel bool, logTimestamp bool, addNewLine bool) *OutputProperties
NewOutputProperties permet de créer une instance du type "OutputProperties".
func (*OutputProperties) Level ¶
func (op *OutputProperties) Level() bool
Level permet d'indiquer à l'encodeur si il doit encodé le niveau de log.
func (*OutputProperties) NewLine ¶
func (op *OutputProperties) NewLine() bool
NewLine permet d'indiquer à l'encodeur si il doit ajouté un "\n" à la fin du message.
func (*OutputProperties) Timestamp ¶
func (op *OutputProperties) Timestamp() bool
Timestamp permet d'indiquer à l'encodeur si il doit encodé la date et l'heure.
type Runner ¶
type Runner struct { // L'identifiant unique du "Runner". ID string // Le nom du "Runner". Name string }
Runner représente l'application, le service... en cours d'exécution.
type SyslogOutput ¶
SyslogOutput représente une sortie vers log système.
func (*SyslogOutput) Level ¶
func (output *SyslogOutput) Level() bool
Level indique que le niveau de log ne doit pas être encodé.
func (*SyslogOutput) Log ¶
func (output *SyslogOutput) Log(level Level, buffer []byte) error
Log écrit les données du buffer résultant de l'encodage vers le log système.
func (*SyslogOutput) NewLine ¶
func (output *SyslogOutput) NewLine() bool
NewLine indique qu'il n'est pas nécessaire d'ajouter un "\n" à l'encodage.
func (*SyslogOutput) Timestamp ¶
func (output *SyslogOutput) Timestamp() bool
Timestamp indique que la date et l'heure ne doivent pas être encodées.
type WriterOutput ¶
type WriterOutput struct { io.Writer *OutputProperties }
WriterOutput permet de définir des sorties basées sur un "Writer".