品易云推流 关闭
文章详情页
文章 > Python常见问题 > python如何打印日志

python如何打印日志

Python

头像

(*-*)浩

2019-08-26 09:55:173167浏览 · 0收藏 · 0评论

默认情况下,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:\Python\logs.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:使用指明的日期/时间格式。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图