国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python日志模塊logging簡介

2019-11-25 17:45:43
字體:
供稿:網(wǎng)友

logging分為4個模塊: loggers, handlers, filters, and formatters.

●loggers: 提供應(yīng)用程序調(diào)用的接口
●handlers: 把日志發(fā)送到指定的位置
●filters: 過濾日志信息
●formatters: 格式化輸出日志

Logger

Logger.setLevel() 設(shè)置日志級別
Logger.addHandler()和Logger.removeHandler() 增加和刪除日志處理器
Logger.addFilter()和Logger.removeFilter() 增加和刪除過濾器
Logger.debug(), Logger.info(), Logger.warning(), Logger.error(), and Logger.critical() 創(chuàng)建不同的級別的日志
getLogger() 獲取日志的根實例

Handler

setLevel() 設(shè)置日志級別
setFormatter() 設(shè)置輸出格式
addFilter() and removeFilter() 增加和刪除過濾器

Formatter

默認形式為: %Y-%m-%d %H:%M:%S.
格式為: %()s

日志配置管理

硬編碼形式

復(fù)制代碼 代碼如下:

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')


輸出
復(fù)制代碼 代碼如下:

$ 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

通過文件配置管理日志

代碼:

復(fù)制代碼 代碼如下:

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')


配置文件:
復(fù)制代碼 代碼如下:

[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=


輸出:
復(fù)制代碼 代碼如下:

$ 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

日志格式

%(levelno)s: 打印日志級別的數(shù)值
%(levelname)s: 打印日志級別名稱
%(pathname)s: 打印當(dāng)前執(zhí)行程序的路徑,其實就是sys.argv[0]
%(filename)s: 打印當(dāng)前執(zhí)行程序名
%(funcName)s: 打印日志的當(dāng)前函數(shù)
%(lineno)d: 打印日志的當(dāng)前行號
%(asctime)s: 打印日志的時間
%(thread)d: 打印線程ID
%(threadName)s: 打印線程名稱
%(process)d: 打印進程ID
%(message)s: 打印日志信息

流程圖

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 景东| 车致| 丰都县| 西贡区| 建瓯市| 泗阳县| 荃湾区| 和田市| 惠安县| 黄龙县| 登封市| 子洲县| 祁东县| 平塘县| 宝鸡市| 尼木县| 琼中| 昌平区| 庆阳市| 安顺市| 正宁县| 任丘市| 都匀市| 寿阳县| 丽江市| 来宾市| 沈阳市| 玉山县| 晴隆县| 新宁县| 崇义县| 长泰县| 图们市| 叙永县| 修文县| 微山县| 嘉禾县| 晴隆县| 庆阳市| 嘉义市| 克山县|