默认情况下,python使用logging模块将日志打印到屏幕上(stdout),日志级别为WARNING(即只有日志级别高于WARNING的日志信息才会输出),日志格式如下图所示:

简单使用

#!/usr/local/bin/python# -*- coding:utf-8 -*-import logging

logging.debug('debug message')
logging.info('info message')
logging.warn('warn message')
logging.error('error message')
logging.critical('critical message')

输出

WARNING:root:warn message
ERROR:root:error message
CRITICAL:root:critical message

通过logging.basicConfig函数对日志的输出格式及方式做相关配置。logging.basicConfig(**kwargs) 该函数必须在main函数线程除外的子线程启动之前调用,否则可能会造成日志重复记录

import logging
 
fmt = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s: %(message)s'
logging.basicConfig(level=logging.DEBUG,
                    format=fmt,
                    filename='D:Pythonlogs.txt',
                    filemode='w',
                    datefmt='%a, %d %b %Y %H:%M:%S'
                    )
logging.debug('this is a debug level message')
logging.info("this is a info level message")
logging.warning("this is a warning level message")
logging.error("this is a error level message")
logging.critical("this is a critical level message")

filename:创建一个FileHandler,使用指定的文件名,而不是使用StreamHandler。

filemode:如果指明了文件名,指明打开文件的模式(如果没有指明filemode,默认为'a')。

format:handler使用指明的格式化字符串。

datefmt:使用指明的日期/时间格式。

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python如何打印日志