Ce qui suit est un exemple d'écriture de journaux dans des fichiers et des consoles en python via la journalisation. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Jetons un coup d'oeil ensemble
comme suit :
import logging
# 创建一个logger
logger = logging.getLogger('mylogger')
logger.setLevel(logging.DEBUG)
# 创建一个handler,用于写入日志文件
fh = logging.FileHandler('test.log')
fh.setLevel(logging.DEBUG)
# 再创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# 定义handler的输出格式
formatter = logging.Formatter('[%(asctime)s][%(thread)d][%(filename)s][line: %(lineno)d][%(levelname)s] ## %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# 给logger添加handler
logger.addHandler(fh)
logger.addHandler(ch)
# 记录一条日志
logger.info('foorbar')
Copier après la connexion
Concernant la configuration du formateur, la configuration du formateur est utilisé La forme %()s est le remplacement de mot-clé du dictionnaire. Les mots clés fournis incluent :
Format |
Description |
%(name)s
Format |
Description |
%(name)s |
Name of the logger (logging channel). |
%(levelno)s |
Numeric logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL). |
%(levelname)s |
Text logging level for the message ('DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'). |
%(pathname)s |
Full pathname of the source file where the logging call was issued (if available). |
%(filename)s |
Filename portion of pathname. |
%(module)s |
Module (name portion of filename). |
%(funcName)s |
Name of function containing the logging call. |
%(lineno)d |
Source line number where the logging call was issued (if available). |
%(created)f |
Time when the LogRecord was created (as returned by time.time()). |
%(relativeCreated)d |
Time in milliseconds when the LogRecord was created, relative to the time the logging module was loaded. |
%(asctime)s |
Human-readable time when the LogRecord was created. By default this is of the form “2003-07-08 16:49:45,896” (the numbers after the comma are millisecond portion of the time). |
%(msecs)d |
Millisecond portion of the time when the LogRecord was created. |
%(thread)d |
Thread ID (if available). |
%(threadName)s |
Thread name (if available). |
%(process)d |
Process ID (if available). |
%(message)s |
The logged message, computed as msg % args. |
|
Nom de l'enregistreur (canal de journalisation). |
%(levelno)s |
Niveau de journalisation numérique pour le message (DEBUG , INFO, AVERTISSEMENT, ERREUR, CRITIQUE). |
%(levelname)s |
Niveau de journalisation du texte pour le message ('DEBUG' , 'INFO', 'AVERTISSEMENT', 'ERREUR' , 'CRITIQUE'). |
%(pathname)s
|
Chemin complet du fichier source où l'appel de journalisation a été émis ( si disponible). |
%(filename)s |
Partie du nom de fichier du nom du chemin. |
%(module)s |
Module (nom partie du nom de fichier). |
%(funcName)s
|
Nom de fonction contenant l'appel de journalisation. |
%(lineno)d | Numéro de la ligne source sur laquelle l'appel de journalisation a été émis (si disponible). |
%(created)f tt> |
Heure à laquelle le LogRecord a été créé (telle que renvoyée par time. time()). |
%(relativeCreated)d |
Durée en millisecondes à laquelle le LogRecord a été créé, par rapport à l'heure à laquelle le module de journalisation a été chargé. |
%(asctime)s |
Heure lisible par l'homme à laquelle le LogRecord a été créé. Par défaut, ceci. est de la forme "2003-07-08 16:49:45,896" (les nombres après la virgule correspondent à une milliseconde du temps). |
%(msecs)d |
Milliseconde du temps pendant lequel le LogRecord tt> a été créé.
|
%(thread)d |
ID du fil de discussion ( si disponible). |
%(threadName)s |
Nom du fil de discussion (si disponible). |
%(process)d |
Processus ID (si disponible). |
%(message)s | Le message enregistré, calculé comme msg % args.
Recommandations associées : Exemple de code pour Python pour implémenter le journal de journalisationUne brève discussion sur le problème du chemin du fichier de configuration des journaux Python
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!