007---logging日志模块
2024-09-28 04:01:52
logging模块
- 用途:服务器运行日志、运维日志...
import logging
from logging.handlers import RotatingFileHandler, TimedRotatingFileHandler
# 1.生成logger对象
logger = logging.getLogger('web')
logger.setLevel(logging.DEBUG) # 先设置全局过滤,不然后面的设置debug也是无效的
# 2.生成handler对象
ch = logging.StreamHandler() # 输出到屏幕
fh = logging.FileHandler('web.log') # 输出到文件
fh1 = RotatingFileHandler('web1.log', maxBytes=100, backupCount=3)
fh2 = TimedRotatingFileHandler('web2.log', when='S', interval=5)
ch.setLevel(logging.CRITICAL)
fh.setLevel(logging.ERROR) # 可对每个handler设置级别,也可以设置全局:默认warning
fh1.setLevel(logging.DEBUG)
# 2.1把handler对象绑定到logger对象
logger.addHandler(ch)
logger.addHandler(fh)
logger.addHandler(fh1)
logger.addHandler(fh2)
# 3.生成formatter对象
file_fmt = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file1_fmt = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file2_fmt = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
console_fmt = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(lineno)s - %(message)s')
# 3.1 把formatter绑定到handler对象
ch.setFormatter(console_fmt)
fh.setFormatter(file_fmt)
fh1.setFormatter(file1_fmt)
fh2.setFormatter(file2_fmt)
logger.debug('test log1')
logger.info('test_log2')
logger.warning('test_log3')
logger.error('test_log4')
logger.critical('test_log5')
最新文章
- jsp 中登录验证 注销 的模版
- CMD命令简单使用
- redmine Windows装配
- Delphi 调用netsh命令修改IP地址
- Android List去掉重复数据
- Atom手动安装插件和模块的解决方案
- juggle添加c#版本
- 391.FANUC宏程序编程
- pip install
- Swift处理异常
- TabLayout占不满屏幕所有宽度
- PAT L2-023 图着色问题
- Nowcoder | [题解-N210]牛客OI月赛2-提高组
- python入门学习2
- (转载)windows下安装配置Xampp
- Delphi: TGraphicControl支持PaintTo方法
- STL标签与EL表达式之间的微妙关系
- yii2 beta版 执行流程
- 部署本地gitlab
- googleBigTable