Comments on: Écrire des logs en Python http://sametmax.com/ecrire-des-logs-en-python/ Du code, du cul Sat, 07 Nov 2015 11:08:18 +0000 hourly 1 http://wordpress.org/?v=4.1 By: Sam http://sametmax.com/ecrire-des-logs-en-python/#comment-159467 Wed, 22 Apr 2015 20:46:52 +0000 http://sametmax.com/?p=5267#comment-159467 Pose ta question sur IndedError, ça aura plus de visibilité.

]]>
By: Fred http://sametmax.com/ecrire-des-logs-en-python/#comment-159456 Wed, 22 Apr 2015 17:01:13 +0000 http://sametmax.com/?p=5267#comment-159456 Hello, sorry , je reviens dessus :

je te cite :”

import logging

logging.handlers

log = logging.getLogger(“mylogger”)

mailer = logging.handlers.SMTPHandler(mailhost=’tonhost’,

fromaddr=’ton_mail_denvoie’,

toaddrs=[‘liste’, ‘de’, ‘destinataires’],

subject=’Alerte rouge !’,

credentials=(‘username’,’password’),

secure=None)

mailer.setLevel(logging.ERROR)

log.addHandler(mailer)

“”

c’est parfait.

mais supposons que j’ai une classe A et un autre fichier main.py

j’ai des résultats d’instructions sur la classe A et je veux regrouper tous ces résultats et les envoyer par mail En Une Fois.

dans la classe A :

-> j’ai une liste qui va append toutes les résultats des erreurs des instructions

dans le main.py

-> j’appel la liste de la classe en paramètre:

if any(‘CRITICAL’ in msg or ‘ERROR’ in msg or ‘FAILURE’ in msg for msg in A.ma_list):

….log.error(‘\n’.join(A.ma_list))

Y a t-il moyen de faire autrement que de regrouper les résultats dans une liste pour les envoyer en un bloc ?

Merci à toi.

]]>
By: Fred http://sametmax.com/ecrire-des-logs-en-python/#comment-157620 Thu, 12 Mar 2015 15:48:04 +0000 http://sametmax.com/?p=5267#comment-157620 Merci Sam ! c’est exactement ce que je cherchais :-D

du très très bon boulot votre site !

Et si j’ai besoin de poser une question qui n’a pas de billet sur votre site ?

Merci à vous

]]>
By: Sam http://sametmax.com/ecrire-des-logs-en-python/#comment-157616 Thu, 12 Mar 2015 15:40:55 +0000 http://sametmax.com/?p=5267#comment-157616 Ca ressemble à ça (de tête) :

import logging
logging.handlers

log = logging.getLogger("mylogger")

mailer = logging.handlers.SMTPHandler(mailhost='tonhost',
                                fromaddr='ton_mail_denvoie',
                                toaddrs=['liste', 'de', 'destinataires'],
                                subject='Alerte rouge !',
                                credentials=('username','password'),
                                secure=None)
mailer.setLevel(logging.ERROR)
log.addHandler(mailer)

Et ça enverra un mail pour toutes les erreurs logguées sur ce logger.

Par contre le handler par défaut ne permet pas l’utilisation de TLS, ce qui est bien relou. Et la méthode de contournement est, pour ainsi dire, hum… http://mynthon.net/howto/-/python/python%20-%20logging.SMTPHandler-how-to-use-gmail-smtp-server.txt

]]>
By: Fred http://sametmax.com/ecrire-des-logs-en-python/#comment-157195 Wed, 04 Mar 2015 15:19:59 +0000 http://sametmax.com/?p=5267#comment-157195 hello, très belle article.

pouvez vous donner un exemple avec le SMTPHandler ?

après plusieurs traitement ,

le SMTPHandler va envoyer le rapport des traitements par mail

Merci à vous

cdt

Fred

]]>
By: CaptainMurloc http://sametmax.com/ecrire-des-logs-en-python/#comment-147543 Wed, 29 Oct 2014 08:41:30 +0000 http://sametmax.com/?p=5267#comment-147543 Super !
Merci beaucoup. :)

A bientôt ! ♥

]]>
By: Sam http://sametmax.com/ecrire-des-logs-en-python/#comment-147541 Wed, 29 Oct 2014 07:17:30 +0000 http://sametmax.com/?p=5267#comment-147541 Donne un nom à ton logger :

logger = logging.getLogger("trop_cool")

Et dans un autre fichier, si tu utilise le même nom, tu auras le même logger, qui écrit dans le même fichier.

]]>
By: CaptainMurloc http://sametmax.com/ecrire-des-logs-en-python/#comment-147508 Tue, 28 Oct 2014 15:04:01 +0000 http://sametmax.com/?p=5267#comment-147508 Hello !

Merci pour ce super article, cela m’aide beaucoup (moi qui débute totalement en python). Je n’ai d’ailleurs pas de grandes connaissances en objet car j’ai été jetée dedans (le python) pour mon apprentissage et n’ai pas réellement de bases.

Voici donc ma demande :

J’ai récupérer le code de la section “Pour les gens pressés” (je ne suis pas spécialement pressée, mais du temps gagné reste du temps gagné (Obvious)).

Tu dis :

Donc, faites comme moi, mettez cette config dans un fichier à part, et pour chaque nouveau projet, copier le bêtement. Comme ça vous aurez en une seconde la possibilité de logger dans un fichier et sur la console avec une désactivation facile.”

J’ai trouvé ça cool, mais je ne sais pas réellement si ce que j’essaie de faire (ce que je pense avoir déduit de ce que tu as dit) est réellement faisable. En effet, je voudrai : (les noms sont totalement illustratifs)
– créer un fichier init_logger.py qui contiendrait le code que tu as posté
– appeler ce fichier depuis un autre, admettons add_logs.py, et écrire dans le fichier de logs créé (du coup par init_logger, donc activity.log) mais à partir de add_logs.py

J’ai modifié ton code en créant juste une fonction qui contient le reste du code pour pouvoir l’appeler depuis add_logs.py

def initialisation() :
# création de l'objet logger qui va nous servir à écrire dans les logs
logger = logging.getLogger()
# on met le niveau du logger à DEBUG, comme ça il écrit tout
[...]

A partir de là, j’ai donc fait l’import de init_logger dans add_logs.py et j’ai appelé la fonction initialisation().
Cela fonctionne correctement, je récupère bien
Hello
Testing foo

Mais comme je dis plus tôt, je ne vois pas trop comment faire pour écrire dans le fichier de logs depuis add_logs.
Si cela n’est pas possible, soit. Mais comme je n’en suis pas sûre, je préfère demander ! :)

J’espère tout de même que ce soit faisable (ce serait tellement plus propre ^^).
A bientôt !

– CaptainMurloc

]]>
By: Sam http://sametmax.com/ecrire-des-logs-en-python/#comment-19618 Wed, 12 Feb 2014 09:01:20 +0000 http://sametmax.com/?p=5267#comment-19618 Mieux.

]]>
By: Seb http://sametmax.com/ecrire-des-logs-en-python/#comment-19612 Wed, 12 Feb 2014 07:16:01 +0000 http://sametmax.com/?p=5267#comment-19612 Salut,

que penses-tu de Logbook comparé au module Logging ?
https://pypi.python.org/pypi/Logbook

Merci d’avance

]]>