logging 模块主要包含四个部分:
Loggers: 提供程序调用的接口,在代码中调用 api 来记录日志
Handlers: 对日志信息进行不同的处理,如记录日志的方式
Formatters: 定义日志的打印格式
Filters:对日志信息进行过滤, 自定义日志是否输出的判断
import logging
"""
1. DEBUG: 对应数值10,打印调式信息。
2. INFO: 对应数值20,处理请求,状态变化等日常信息。
3. WARNING: 对应数值30,比较重要的提醒信息,警告信息。
4. ERROR: 对应数值40,程序发生了报错,如连接错误,编译错误。
5. CRITICAL: 对应数值50,特别严重的问题,如服务器故障等
"""
file_name = 'logger.txt'
formatter = '%(asctime)s -- %(filename)s[line:%(lineno)d] %(levelname)s\t%(message)s'
# 如果定义了file_name 那么就不在控制台输出日志了
# 传入日志的格式和输出日志的等级
logging.basicConfig(filename=file_name, format=formatter, level=logging.DEBUG)
logger = logging.getLogger(__name__)
console = logging.StreamHandler()
console.setLevel(logging.DEBUG)
"""
1. asctime:日志的输出时间