python -logging 模块

概述

logging 是python自带的日志模块,既可以输出到控制台,也可以输出到文件中。

用法

import logging  

  

# 创建一个logger  

logger = logging.getLogger('mylogger')  

logger.setLevel(logging.DEBUG)  

  

# 创建一个handler,用于写入日志文件  

fh = logging.FileHandler('test.log')  

fh.setLevel(logging.DEBUG)  

  

# 再创建一个handler,用于输出到控制台  

ch = logging.StreamHandler()  

ch.setLevel(logging.DEBUG)  

  

# 定义handler的输出格式  

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')  

fh.setFormatter(formatter)  

ch.setFormatter(formatter)  

  

# 给logger添加handler  

logger.addHandler(fh)  

logger.addHandler(ch)  

  

# 记录一条日志  

logger.info('foorbar')  

特色

python自带的日志模块,与多种框架完美融合,简单好用

 

踩坑记录

1,flask项目中 python manager.py db init

报错:

xxx\SAP\venv\lib\site-packages\flask_sqlalchemy\__init__.py:794: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by defau

lt in the future. Set it to True or False to suppress this warning.

'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '

No handlers could be found for logger "root"

解决办法:

其实logging 模块有个自带的logger对象叫做root,而root和所有 子logger对象都是父子关系,root可以不配置handler就能使用,调用时候默认是sys.stderr

 

ch = logging.StreamHandler()

ch.setLevel(app.config['LOG_LEVEL'])

formatter = logging.Formatter(app.config['LOG_FORMAT'])

ch.setFormatter(formatter)

logging.root.addHandler(ch) # 把你创建的handler 加入root这个logger

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值