python日誌模塊-Logging

日誌配置

通常日誌配置

爲了在控制檯規範的打印python

import logging

# 日誌配置
logging.basicConfig(level=logging.INFO, format='[%(asctime)s] - %(levelname)s in %(filename)s: %(message)s')

# 獲取日誌器
logger = logging.getLogger(__name__)

文件日誌配置

寫入文件的日誌配置。scrapy

1. 旋轉日誌配置

寫入文件,而且能夠規定最大大小,自動滾動刪除日誌。debug

from logging.handlers import RotatingFileHandler
import logging

# Handler類,旋轉文件日誌,日誌文件名,100MB,10個文件滾動
handler = RotatingFileHandler(filename='logs.log', maxBytes=100 * 1024 * 1024, backupCount=10)
# Formatter類
formatter = logging.Formatter('[%(asctime)s] - %(levelname)s in %(filename)s: %(message)s')
handler.setFormatter(formatter)  # 添加格式化實例
# 獲取日誌器
logger = logging.getLogger(__name__)
logger.addHandler(handler)
logger.setLevel(logging.INFO)  # 設置告警等級

2. 控制檯打印日誌

能夠同時寫文件也在控制檯打印,主要是看選擇哪些handler。日誌

console = logging.StreamHandler()
logger.addHandler(console)  # 額外添加一個handler

scrapy寫文件通用日誌配置

import logging
from scrapy.utils.log import configure_logging

configure_logging(install_root_handler=False)
logging.basicConfig(
    filename='scrapy_log.txt',
    format='%(levelname)s: %(message)s',
    level=logging.INFO
)

日誌打印

等級依次增高code

logging.debug('debug message')
logging.info('info message')
logging.warn('warn message')
logging.error('error message')
logging.critical('critical message')
相關文章
相關標籤/搜索