-
基本应用
-
日志处理本质:Logger/FileHandler/Formatter
-
推荐处理日志方式
import logging file_handler = logging.FileHandler(filename='x1.log', mode='a', encoding='utf-8',) logging.basicConfig( format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S %p', handlers=[file_handler,], level=logging.ERROR
level 默认是ERROR 可以指定level 日志只写比 ERROR更高等级的 【 info < error < warning <.....】
) logging.error('你好')
-
-
推荐处理日志方式 + 日志分割
import time import logging from logging import handlers # file_handler = logging.FileHandler(filename='x1.log', mode='a', encoding='utf-8',) file_handler = handlers.TimedRotatingFileHandler(filename='x3.log', when='s', interval=5, encoding='utf-8') logging.basicConfig( format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S %p', handlers=[file_handler,], level=logging.ERROR ) for i in range(1,100000): time.sleep(1) logging.error(str(i))
注意事项:
# 在应用日志时,如果想要保留异常的堆栈信息。 import logging import requests logging.basicConfig( filename='wf.log', format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S %p', level=logging.ERROR ) try: requests.get('http://www.xxx.com') except Exception as e: msg = str(e) # 调用e.__str__方法 logging.error(msg,exc_info=True)
-
# 单例模式 设计模式
# 什么是单例模式
# 单例的应用场景
# __new__方法 :创建实例的 并且在init之前工作
# logging模块
# 记录日志的
# 用户 :
# 程序员 :
# 统计用的
# 用来做故障排除的 debug
# 用来记录错误,完成代码的优化的
# logging.basicconfig
# 使用方便
# 不能实现 编码问题;不能同时向文件和屏幕上输出
# logging.debug,logging.warning
# logger对象
# 复杂
# 创建一个logger对象
# 创建一个文件操作符
# 创建一个屏幕操作符
# 创建一个格式# 给logger对象绑定 文件操作符 # 吸星大法
# 给logger对象绑定 屏幕操作符
# 给文件操作符 设定格式
# 给屏幕操作符 设定格式# 用logger对象来操作
# logger = logging.getLogger()
# fh = logging.FileHandler('log.log') log信息文件写入
# sh = logging.StreamHandler() log信息屏幕显示
# logger.addHandler(fh) 吸星大法
# logger.addHandler(sh) 吸星大法
# formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# fh.setFormatter(formatter)
# sh.setFormatter(formatter)
# logger.warning('message')
19.项目结构目录
# **************** 项目结构目录文件夹 ****************# 6个项目目录
# bin 可执行文件:程序入口
#config 配置&参数设置
# db 数据&内容
# lib 公共功能
# log 日志代码
# src 业务代码
来源:https://www.cnblogs.com/yx12138/p/10849041.html