【python】 基于logging的log文件日志二次封装
"""
日志模块标准范例
文件结构为:
logs:
__init__.py
****.log
日志包含两个handler:
StreamHandler: 输出到控制台
FileHandler: 输出到文件
"""
import os
import logging
# 初始化:日志等级、日志文件名
logger_level = logging.INFO
# 获取当前目录的绝对路径
# 注意:不能使用('.') 这是运行的python文件的绝对路径
dir_path = os.path.dirname(os.path.abspath(__file__))
file_logger_name = os.path.join(dir_path, '')##日志保存文件位置
# 日志定义
logger = logging.getLogger(__name__)
logger.setLevel(logger_level)
# 创建 handler 输出到控制台
handler = logging.StreamHandler()
handler.setLevel(logger_level)
# 创建 handler 输出到文件
# a+: pro 追加
# w+: dev 覆盖
file_handler = logging.FileHandler(file_logger_name, mode='a+')
file_handler.setLevel(logger_level)
# 创建 logging format
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
handler.setFormatter(formatter)
file_handler.setFormatter(formatter)
# add the handlers to the logger
logger.addHandler(handler)
logger.addHandler(file_handler)