Python——logging模块学习
来源:互联网 发布:js 控制重新打开页面 编辑:程序博客网 时间:2024/06/05 00:09
一、logging.basicConfig
设定日志输出格式及路径:输出到文件
日志级别大小关系为:
CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET
默认情况下,logging将日志打印到屏幕,日志级别为
WARNING
通过
logging.basicConfig
函数对日志的输出格式及方式做相关设定logging.basicConfig([**kwargs])
函数用来配置root logger, 为root logger创建一个StreamHandler
,设置默认的格式
import logging# 日志级别列表,默认为logging.WARNINGLEVELS = (logging.NOTSET, logging.DEBUG, logging.INFO, logging.WARNING, logging.ERROR, logging.CRITICAL)LOG_FORMAT = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)-8s %(message)s' # 输出格式 DATE_FORMAT='%Y-%m-%d %H:%M:%S' # 日期格式 FILENAME = "mylog.log" # 日志文件logging.basicConfig(level=LEVELS[1], format=LOG_FORMAT, datefmt=DATE_FORMAT, filename=FILENAME, filemode='w')logging.debug('This is a {0} message'.format("debug"))logging.info('This is an {0} message'.format("info"))logging.warning('This is a warning message')logging.error('This is an error message')logging.critical('This is a critical error message')
format 参数说明
%(levelname)s: 日志级别名称
%(filename)s: 当前执行程序名
%(lineno)d: 当前行号
%(asctime)s: 日志时间
%(message)s:日志信息
二、将日志输出到控制台, 同时写入日志文件
import logging# 创建一个loggerlogger = logging.getLogger()logger.setLevel(logging.DEBUG)# 创建FileHandler,用于写入日志文件fh = logging.FileHandler('test.log')fh.setLevel(logging.DEBUG)# 创建StreamHandler,用于输出到控制台ch = logging.StreamHandler()ch.setLevel(logging.DEBUG)# 定义handler的输出格式LOG_FORMAT = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)-8s %(message)s'formatter = logging.Formatter(LOG_FORMAT)fh.setFormatter(formatter)ch.setFormatter(formatter)# 给logger添加handlerlogger.addHandler(fh)logger.addHandler(ch)# 记录一条日志logger.info('test')
logging.getLogger([name])
返回一个logger实例,如果没有指定name,返回root logger。
logger.setLevel(lvl)
设置logger的level
logging.Formatter()
对象设置日志显示格式,默认的时间格式为%Y-%m-%d %H:%M:%S。
logger.addHandler(hdlr)
通过handler对象可以把日志内容写到不同的地方
参考
[1] https://docs.python.org/2/library/logging.html
[2] http://www.jb51.net/article/42626.htm
[3] http://www.cnblogs.com/dkblog/archive/2011/08/26/2155018.html
- Python模块学习——logging
- Python模块学习——logging
- Python模块学习——logging
- Python——logging模块学习
- Python模块学习——logging
- python logging模块学习
- python logging模块学习
- python logging模块学习
- Python 模块学习 logging
- Python logging模块学习
- python logging模块学习
- python logging模块学习
- python logging模块学习
- python学习:logging模块
- python logging模块学习
- Python——logging模块
- Python模块:日志输出—logging模块
- python学习—Day20—模块:logging、os、command、sys
- Android的Content Provider组件
- c++ STL unique , unique_copy函数
- noip2004初赛-三角形内切圆的面积
- Scrollview中嵌套ViewPager中嵌套ListView 滑动中tab固定顶部ScrollingTricks效果特效
- java进程间通信方式
- Python——logging模块学习
- 2016年阿里C/C++开发笔试程序题一
- R连接MySQL
- 循环队列的实现
- [ Android ]InputStream 和 String 转化 (备忘)
- 瑟夫环问题
- C++中的单例模式
- 很好的正则表达式教程
- Linux中点命令