logme

package module
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2023 License: MIT Imports: 10 Imported by: 0

README

logme

Surcharge du module syslog permettant un rendu des logs dans le terminal et / ou syslog.
De plus une personnalisation type "postfix/cyrus" est possible via l'intégration d'un "MessageID".
Le MessageID est une chaîne de caractères générée aléatoirement permettant de suivre plus finement une transaction dans les logs.

Fonctions

New(args map[string]interface{}) (*LogMe, error) : instancier logme
(l *LogMe) MessageID() msgID : générer un MessageID.
(l *LogMe) EnableMessageID() : activer l'utilisation du MessageID. Par défaut, l'utilisation du MessageID est désactivée dans les logs.
(l *LogMe) DisableMessageID() : desactiver l'utilisation du MessageID
(l *LogMe) IsEnabledMessageID() bool : le MessageID est-il activé
(l *LogMe) IsDisabledMessageID() bool : le MessageID est-il desactivé
(l *LogMe) Close() error : clôturer la connexion au daemon Syslog

Priorités des logs par ordre croissant :
(l *LogMe) Debug(id msgID, text ...string)
(l *LogMe) Info(id msgID, text ...string)
(l *LogMe) Notice(id msgID, text ...string)
(l *LogMe) Warning(id msgID, text ...string)
(l *LogMe) Error(id msgID, text ...string)
(l *LogMe) Critical(id msgID, text ...string)
(l *LogMe) Alert(id msgID, text ...string)
(l *LogMe) Emergency(id msgID, text ...string)

Arguments

CLEF TYPE DÉFAUT DESCRIPTION
tag string Nom identifiant le prgm dans les logs
length int 10 Définie le nombre de caractères du messageID
Min:1
Max: 32
logger logPrint LOGME_NO Affichage des logs
facility logFacility LOGME_F_SYSLOG sous système applicatif dont les logs sont associés

logPrint

LOGME_NO      // Log désactivé
LOGME_TERM    // Log en sortie standard sur le terminal
LOGME_SYSLOG  // Log dans syslog
LOGME_BOTH    // Log en sortie terminal et syslog

logFacility

LOGME_F_AUTH    // Authentification
LOGME_F_CRON    // Cron
LOGME_F_DAEMON  // Daemon sans classification
LOGME_F_FTP     // FTP
LOGME_F_KERN    // Kernel
LOGME_F_LPR     // Impression
LOGME_F_MAIL    // Mail
LOGME_F_NEWS    // Service Usenet, NNTP...
LOGME_F_SYSLOG  // Syslog
LOGME_F_USER    // Utilisateur générique
LOGME_F_UUCP    // Système Unix to Unix Copy Program
LOGME_F_LOCAL0  // Utilisateurs Locaux
LOGME_F_LOCAL1
LOGME_F_LOCAL2
LOGME_F_LOCAL3
LOGME_F_LOCAL4
LOGME_F_LOCAL5
LOGME_F_LOCAL6
LOGME_F_LOCAL7
MSGID_EMPTY  // Bouchon pour un MessageID vide. A pour effet de désactiver le rendu sans avoir à utiliser la fonction DisableMessageID()

Exemple :

import (
	"github.com/matyas-cyril/logme"
)

// Déclaration avec l'argument obligatoire
args := map[string]interface{}{
    "tag":      "monPrgm",
}

l, err := logme.New(args)
if err != nil {
    return err
}
defer l.Close()

// Activation du rendu du messageID dans les logs
l.EnableMessageID()

// Génération d'un messageID
msgId := l.MessageID()
l.Info(msgId, "Ceci est un test")

Résultat :
   2022-04-28 19:51:53 monPrgm[28930]: FB0C3A364B: Ceci est un test

Documentation

Index

Constants

View Source
const (
	MSGID_EMPTY MsgID = ""

	LOGME_NO     LogPrint = 0 // Log désactivé
	LOGME_TERM   LogPrint = 1 // Log en sortie standard
	LOGME_SYSLOG LogPrint = 2 // Log dans syslog
	LOGME_BOTH   LogPrint = 3 // Log en sortie standard et syslog

	// Niveau du priorité du log (classement par ordre croissant)
	LOGME_P_DEBUG   LogPriority = LogPriority(syslog.LOG_DEBUG)
	LOGME_P_INFO    LogPriority = LogPriority(syslog.LOG_INFO)
	LOGME_P_NOTICE  LogPriority = LogPriority(syslog.LOG_NOTICE)
	LOGME_P_WARNING LogPriority = LogPriority(syslog.LOG_WARNING)
	LOGME_P_ERR     LogPriority = LogPriority(syslog.LOG_ERR)
	LOGME_P_CRIT    LogPriority = LogPriority(syslog.LOG_CRIT)
	LOGME_P_ALERT   LogPriority = LogPriority(syslog.LOG_ALERT)
	LOGME_P_EMERG   LogPriority = LogPriority(syslog.LOG_EMERG)

	// Sous système applicatif dont les logs sont associés
	LOGME_F_AUTH   LogFacility = LogFacility(syslog.LOG_AUTH)   // Authentification
	LOGME_F_CRON   LogFacility = LogFacility(syslog.LOG_CRON)   // Cron
	LOGME_F_DAEMON LogFacility = LogFacility(syslog.LOG_DAEMON) // Daemon sans classification
	LOGME_F_FTP    LogFacility = LogFacility(syslog.LOG_FTP)    // FTP
	LOGME_F_KERN   LogFacility = LogFacility(syslog.LOG_KERN)   // Kernel
	LOGME_F_LPR    LogFacility = LogFacility(syslog.LOG_LPR)    // Impression
	LOGME_F_MAIL   LogFacility = LogFacility(syslog.LOG_MAIL)   // Mail
	LOGME_F_NEWS   LogFacility = LogFacility(syslog.LOG_NEWS)   // Service Usenet, NNTP...
	LOGME_F_SYSLOG LogFacility = LogFacility(syslog.LOG_SYSLOG) // Syslog
	LOGME_F_USER   LogFacility = LogFacility(syslog.LOG_USER)   // Utilisateur générique
	LOGME_F_UUCP   LogFacility = LogFacility(syslog.LOG_UUCP)   // Système Unix to Unix Copy Program
	LOGME_F_LOCAL0 LogFacility = LogFacility(syslog.LOG_LOCAL0) // Utilisateurs Locaux
	LOGME_F_LOCAL1 LogFacility = LogFacility(syslog.LOG_LOCAL1)
	LOGME_F_LOCAL2 LogFacility = LogFacility(syslog.LOG_LOCAL2)
	LOGME_F_LOCAL3 LogFacility = LogFacility(syslog.LOG_LOCAL3)
	LOGME_F_LOCAL4 LogFacility = LogFacility(syslog.LOG_LOCAL4)
	LOGME_F_LOCAL5 LogFacility = LogFacility(syslog.LOG_LOCAL5)
	LOGME_F_LOCAL6 LogFacility = LogFacility(syslog.LOG_LOCAL6)
	LOGME_F_LOCAL7 LogFacility = LogFacility(syslog.LOG_LOCAL7)
)

Variables

This section is empty.

Functions

This section is empty.

Types

type LogFacility added in v1.0.2

type LogFacility syslog.Priority

type LogMe

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

func New

func New(args map[string]interface{}) (*LogMe, error)

New "constructeur" du module logme args : arguments utiles à la déclaration

options :
   tag (string): OBLIGATOIRE
                 ajouter un nom identifiant le programme dans les logs

   length (int): définir le nombre de caractères du messageID [0;32]
                 défaut: 10

   logger (logPrint): façon d'afficher les logs (terminal, syslog, les deux, aucun)
                      défaut: LOGME_NO

   facility (logFacility): sous système applicatif dont les logs sont associés
                           défaut: LOGME_F_SYSLOG

@return: OK: LogMe{}, nil

KO: nil, Error

func (*LogMe) Alert

func (l *LogMe) Alert(id MsgID, text ...string)

Alert priorité du log

func (*LogMe) Close

func (l *LogMe) Close() error

Close ferme la connexion au daemon Syslog

func (*LogMe) Critical

func (l *LogMe) Critical(id MsgID, text ...string)

Critical priorité du log

func (*LogMe) Debug

func (l *LogMe) Debug(id MsgID, text ...string)

Debug priorité du log

func (*LogMe) DisableMessageID

func (l *LogMe) DisableMessageID()

DisableMessageID fonction désactivant le messageID dans les logs

func (*LogMe) Emergency

func (l *LogMe) Emergency(id MsgID, text ...string)

Emergency priorité du log

func (*LogMe) EnableMessageID

func (l *LogMe) EnableMessageID()

EnableMessageID fonction activant le messageID dans les logs

func (*LogMe) Error

func (l *LogMe) Error(id MsgID, text ...string)

Error priorité du log

func (*LogMe) GetPrint

func (l *LogMe) GetPrint() LogPrint

GetPrint obtenir la sortie d'affichage active

func (*LogMe) Info

func (l *LogMe) Info(id MsgID, text ...string)

Info priorité du log

func (*LogMe) IsDisabledMessageID

func (l *LogMe) IsDisabledMessageID() bool

IsDisabledMessageID fonction permettant de savoir si le MessageID est désactivé dans les logs @return bool

func (*LogMe) IsEnabledMessageID

func (l *LogMe) IsEnabledMessageID() bool

IsEnabledMessageID fonction permettant de savoir si le MessageID est activé dans les logs @return bool

func (*LogMe) MessageID

func (l *LogMe) MessageID() MsgID

MessageID génére un identifiant unique. Le nombre de caractères est défini à l'initialisation via l'argument 'len' @return msgID : identifiant généré

func (*LogMe) Notice

func (l *LogMe) Notice(id MsgID, text ...string)

Notice priorité du log

func (*LogMe) SetPrint

func (l *LogMe) SetPrint(print LogPrint)

SetPrint modifier la sortie d'affichage des logs

func (*LogMe) Warning

func (l *LogMe) Warning(id MsgID, text ...string)

Warning priorité du log

type LogPrint added in v1.0.1

type LogPrint uint

type LogPriority added in v1.0.2

type LogPriority syslog.Priority

type MsgID

type MsgID string

Jump to

Keyboard shortcuts

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