源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Python日志模块logging简介

  • 时间:2021-07-24 16:24 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Python日志模块logging简介
logging分为4个模块: loggers, handlers, filters, and formatters. ●loggers: 提供应用程序调用的接口 ●handlers: 把日志发送到指定的位置 ●filters: 过滤日志信息 ●formatters: 格式化输出日志 [b]Logger[/b] Logger.setLevel() 设置日志级别 Logger.addHandler()和Logger.removeHandler() 增加和删除日志处理器 Logger.addFilter()和Logger.removeFilter() 增加和删除过滤器 Logger.debug(), Logger.info(), Logger.warning(), Logger.error(), and Logger.critical() 创建不同的级别的日志 getLogger() 获取日志的根实例 [b]Handler[/b] setLevel() 设置日志级别 setFormatter() 设置输出格式 addFilter() and removeFilter() 增加和删除过滤器 [b]Formatter[/b] 默认形式为: %Y-%m-%d %H:%M:%S. 格式为: %()s [b]日志配置管理[/b] 硬编码形式
[u]复制代码[/u] 代码如下:
import logging # create logger logger = logging.getLogger('simple_example') logger.setLevel(logging.DEBUG) # create console handler and set level to debug ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) # create formatter formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') # add formatter to ch ch.setFormatter(formatter) # add ch to logger logger.addHandler(ch) # 'application' code logger.debug('debug message') logger.info('info message') logger.warn('warn message') logger.error('error message') logger.critical('critical message')
输出
[u]复制代码[/u] 代码如下:
$ python simple_logging_module.py 2005-03-19 15:10:26,618 - simple_example - DEBUG - debug message 2005-03-19 15:10:26,620 - simple_example - INFO - info message 2005-03-19 15:10:26,695 - simple_example - WARNING - warn message 2005-03-19 15:10:26,697 - simple_example - ERROR - error message 2005-03-19 15:10:26,773 - simple_example - CRITICAL - critical message
[b]通过文件配置管理日志[/b] 代码:
[u]复制代码[/u] 代码如下:
import logging import logging.config logging.config.fileConfig('logging.conf') # create logger logger = logging.getLogger('simpleExample') # 'application' code logger.debug('debug message') logger.info('info message') logger.warn('warn message') logger.error('error message') logger.critical('critical message')
[b]配置文件: [/b]
[u]复制代码[/u] 代码如下:
[loggers] keys=root,simpleExample [handlers] keys=consoleHandler [formatters] keys=simpleFormatter [logger_root] level=DEBUG handlers=consoleHandler [logger_simpleExample] level=DEBUG handlers=consoleHandler qualname=simpleExample propagate=0 [handler_consoleHandler] class=StreamHandler level=DEBUG formatter=simpleFormatter args=(sys.stdout,) [formatter_simpleFormatter] format=%(asctime)s - %(name)s - %(levelname)s - %(message)s datefmt=
输出:
[u]复制代码[/u] 代码如下:
$ python simple_logging_config.py 2005-03-19 15:38:55,977 - simpleExample - DEBUG - debug message 2005-03-19 15:38:55,979 - simpleExample - INFO - info message 2005-03-19 15:38:56,054 - simpleExample - WARNING - warn message 2005-03-19 15:38:56,055 - simpleExample - ERROR - error message 2005-03-19 15:38:56,130 - simpleExample - CRITICAL - critical message
[b]日志格式[/b] %(levelno)s: 打印日志级别的数值 %(levelname)s: 打印日志级别名称 %(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0] %(filename)s: 打印当前执行程序名 %(funcName)s: 打印日志的当前函数 %(lineno)d: 打印日志的当前行号 %(asctime)s: 打印日志的时间 %(thread)d: 打印线程ID %(threadName)s: 打印线程名称 %(process)d: 打印进程ID %(message)s: 打印日志信息 [b]流程图[/b] [img]http://files.jb51.net/file_images/article/201504/2015413100811109.png?201531310818[/img]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部