Python Syslog Logging

Python Syslog Logging
La fonction Python de «Syslog Logging» peut faire en sorte que chaque enregistreur de systèmes reçoive un message série de cette fonction. Lorsque le logiciel est en position d'exécution, le journaliste garde note des événements fonctionnels. Voici l'argument alternatif de l'accent mis dans Syslog qui équivaut à enregistrer les informations des ensembles comme la principale priorité. Essentiellement, nous pouvons dire que la journalisation de Syslog à Python permet aux composants du réseau de se connecter avec un hôte de journalisation en utilisant un format de message commun. Il a été développé et créé principalement pour permettre aux dispositifs de réseautage de surveillance.

Une interface syslog peut être utilisée par les systèmes pour transmettre les messages d'alerte dans une variété de circonstances distinctes. La méthode réelle de surveillance des actions prises par le logiciel pour la création, le fonctionnement et le diagnostic de l'exploitation logicielle est cruciale. Il y a relativement peu de chances que nous trouverions la source du problème si notre logiciel échoue et que nous ne maintenons pas les enregistrements de journalisation suffisants. Certains programmeurs utilisent l'idée de publier les phrases pour vérifier s'ils ont été implémentés séparément ou si une erreur s'est produite. Cependant, l'impression n'est pas une décision intelligente. Pour les scripts de base, ce pourrait être la réponse à nos problèmes. Cependant, la solution d'impression échouera pour des programmes complexes.

Comment implémenter la journalisation syslog à python

Un langage de programmation Python établi a un package appelé journalisation qui permet de publier les mises à jour du message d'état des fichiers ou d'autres flux de sortie. Le dossier peut fournir les détails de la partie du programme exécutée et des problèmes qui se présentent. Commençons par implémenter le code Python pour la journalisation syslog où nous prenons un exemple pour l'expliquer d'une meilleure manière. Notre code pour Python commence par importer certaines bibliothèques où nous importons d'abord la bibliothèque «journalisation» puisque nous effectuons le phénomène de journalisation dans notre article.

Après cela, nous importons la «journalisation.Bibliothèque des gestionnaires »pour tout cas qui pourrait provoquer une erreur afin qu'il puisse gérer et trier les cas d'exception pour les erreurs. La troisième bibliothèque que nous importons est «sysloghandler» de la famille de «journalisation.Handlers »pour faire l'interaction de l'exploitation forestière avec notre système d'exploitation.

Dans la dernière bibliothèque, nous importons le «format» de la famille «journalisation» du fichier interactif de Python. Après toutes les bibliothèques, nous définissons maintenant une nouvelle fonction du nom «sysmain» qui pourrait être appelé notre fonction principale du code du programme. Maintenant, nous créons une allocation de mémoire du nom «SYS_LOGGER» et attribuons la fonction de la «journalisation.getLogger () ”Fonctionne et accorde-lui la déclaration de« meilleur enregistreur ». Après cela, nous utilisons le «sys_logger.Setlevel (journalisation.Débogue) »pour configurer le niveau pour que le système interagisse avec l'erreur de journalisation qui se produit pendant son processus de journalisation pour y faire face.

À cette étape, nous créons maintenant le "sys_handler" et l'avons attribué comme une fonction "sysloghandler ()". Ensuite, nous fournissons la voie de notre système ainsi que certains fichiers interactifs liés à la connexion.

Après avoir affecté le parcours d'adresse du système pour «Syslog Logging», nous utilisons le «SYS_LOGGER.AddHandler () ”Fonctionne et appelez la fonction« SYS_HANDLER »dans la« SYS_LOGGER.Fonction AddHandler () ”. Nous créons une nouvelle fonction et la nommons comme «logging_format ()» et attribuons le message de journalisation et le nom de fichier avec le nom de niveau. Maintenant, nous prenons le «sys_handler.SetFormatter () ”Fonction et fournissez le" logging_format "à la fonction Foral.

Pour la dernière fonction, nous utilisons le «sys_logger.debug () ”et accordez-le comme la valeur en tant que déclaration de« My Python!!". Ensuite, nous annulions la fonction principale à l'aide de la clause «if» et renvoyons la fonction principale du dernier «sysmain ()» pour subir le processus de journalisation.

Le code du «Syslog Logging» est fourni dans le formulaire de texte suivant pour que les autres utilisateurs puissent l'implémenter par eux-mêmes:

Code:

journalisation d'importation
journalisation d'importation.gestionnaires
De l'exploitation forestière.Les gestionnaires importent sysloghandler
du formateur d'importation de journalisation
def sysmain ():
Sys_logger = journalisation.getlogger («meilleur enregistreur»)
Sys_logger.Setlevel (journalisation.DÉBOGUER)
Sys_handler = sysloghandler (installation = sysloghandler.Log_daemon,
adresse = '/ utilisateurs / aqsayasin')
Sys_logger.AddHandler (sys_handler)
Logging_format = '[% (NIVEALNAME) S]% (nom de fichier) S:% (FuncName) S:% (Lineno) D \
"%(messages"'
Sys_handler.setFormatter (formatter (fmt = logging_format))
Sys_logger.Debug («Mon python!!')
Si __name__ == '__MAIN__':
Sysmain ()

Après avoir terminé le travail de code, nous examinons l'exploitation forestière du système qui affiche la date actuelle de «nov» comme le mois, «21» comme date et «01:05:12» comme l'heure de notre système d'exploitation. Notre nom d'utilisateur système, «Aqsayasin», est également fourni avec le détail Python de «9851» et débogue les détails le long du «syslog» sur la fonction principale avec notre déclaration imprimée sur le syslog qui est «Mon python!!".

La première ligne de ce programme est similaire à celle que nous exécutons plus tôt dans Python Code. Il exporte le formateur avec les bibliothèques «journalisation», «gestionnaires» et «sysloghandler». Maintenant, nous ajoutons le «sysloghandler» similaire que nous avons ajouté plus tôt dans le code dans une fonction «main ()» après avoir créé un enregistreur et définie son niveau par défaut pour «déboguer». Nous écrivons ensuite un formateur et l'incluons avec le bûcheron. Nous pouvons voir comment les fonctions de l'entreprise globale en contrastant en contrastant cette notification avec le texte de mise en forme. La chaîne affiche le «niveau de niveau», «nom de fichier», «funcname», «lineno» et «message» dans la journalisation de l'écran:

Le message s'affiche comme le montre notre déclaration fournie dans le «syslog.Py ”Fonction principale,« Mon python!!», Avec la fonction« sysmain () ».

Enfin, nous avons le «niveau de niveau» comme égalisé au «débogage» sur le système de journal. Nous pouvons voir le chemin, le nom de la fonction et le numéro de ligne dans les parties restantes du message qui nous permet de comprendre exactement où le message du journal est originaire. Le niveau de messagerie est indiqué au début de quelque chose comme la lettre par des crochets. Le «[débogage]» de l'expression textuelle d'un niveau de message d'exploitation est substitué par «[% (nom) s]».

Maintenant, essayons d'implémenter un autre exemple pour le sujet Python de la «journalisation syslog» en important trois bibliothèques que nous avons utilisées dans les exemples précédents qui sont «journalisation», «journalisation.Handler »et« Sys ». Après avoir obtenu ces trois bibliothèques, nous créons une fonction de «sys_logger» et attribuons la «journalisation.Fonction getLogger () ”. La deuxième fonction du «sys_logger.La fonction SetLevel () "fournit la" journalisation.Commande d'informations »dedans.

Ensuite, nous attribuons l'adresse de journalisation de notre adresse hôte locale qui est «9238» dans la nouvelle fonction créée qui est «Syslogging». Nous appelons ensuite le «sys_logger.Fonction AddHandler () ”pour les cas de gestion des exceptions qui se produit dans« syslogging ». Enfin, nous utilisons la fonction «print ()» pour afficher le résultat de la journalisation de la fonction et annuler le «SYS_LOGGER.Fonction de gestionnaire »dans la fonction« print () ».

Le deuxième exemple de la «journalisation syslog» que nous avons implémentée dans Python est donné dans la forme textuelle suivante:

Code:

journalisation d'importation
journalisation d'importation.gestionnaires
importer sys
Sys_logger = journalisation.getlogger ()
Sys_logger.Setlevel (journalisation.INFO)
syslogging = journalisation.gestionnaires.Sysloghandler (adresse = ("localhost", 9238)))
Sys_logger.AddHandler (syslogging)
imprimer (sys_logger.Handlers)

Une fois le code terminé, il revient avec un message d'invite de sortie lorsque le programme termine l'instruction pour déconnecter le programme en cours d'exécution. Si le code s'arrête et que nous voulons le continuer, nous pouvons démarrer un autre journal système. Si nous voulons quitter l'application de la console, nous appuyons sur le bouton «Entrer» et le système se connecte à la console d'application actuelle.

Conclusion

Dans cet article, nous avons discuté du sujet de la «journalisation syslog» de la langue Python en mettant en œuvre les exemples de code et les explications vitales nécessaires. Nous avons gardé deux exemples majeurs pour ce sujet selon le meilleur de nos connaissances. Le premier exemple a fait une manipulation de débogage pour le journal système qui est fourni avec les détails du nom de la fonction et de la voie utilisateur. Tandis que les deuxième exmples ont utilisé le concept de phénomène de sortie du fichier de console et d'appuyer sur le bouton «Entrer» pour enregistrer la journalisation du système.