python logger理解
import logging
#进行基本的日志配置
logging.basicConfig(filename = 'access.log',
format = '%(asctime)s - %(name)s - %(levelname)s -%(module)s %(message)s',
detefmt = '%Y - %m - %d %H:%M:%S %p'
level = 10,
)
日志级别遵循原则:自下而上进行匹配 #debug -》info ——》warning——》error-》critical
logging.debug("调试信息")#10
logging.info("正常信息")#20
logging.warning('不好啊着火啦') #30
logging.error('报错信息') #40
logging.critical('严重错误信息')#50
#问题:
1、没有指定日志级别
2、没有指定日志级别
3、只能往屏幕打印,没有写入文件
#新问题
1、不能指定字符串编码
2、只能往文件中打印
import logging
#logging 模块包含四种角色:logger,filter,formatter, handler
#1、logger:负责产生日志信息
logger1 = logging.getLogger('交易日志')
#logger2 = logging.getLogger('用户相关')
2、filter:负责筛选日志
3、formatter:控制日志输出格式
formatter1 = logging.Formatter(
fmt = '%(asctime):%(name)s:%(levelname)S:%(message)S',
datefmt = '%Y-%m-%d %X'
)
formatter2=logging.Formatter(
fmt = '%(asctime)s:%(message)s',
datefmt = '%Y-%m-%d %X'
#4、handler:负责日志输出的目标
h1 = logging.FileHandler(filename="al.log",encoding = 'utf-8')
h2 = logging.FileHandler(filename='a2.log',encoding = "utf-8")
sm = logging.StreamHandler()
5、绑定logger对象与handler对象
logger1.addHandler(h1)
logger1.addHandler(h2)
logger1.addHandler(sm)
6、绑定handler对象与formatter对象
h1、setFormatter(formatter)
h2、setFormatter(formatter)
sm.setFormatter(formatter2)
#7、设置日志级别:可以在两个关卡进行设置logger与handler
logger1.setLevel(10)
h1.setLevel(10)
h2.setLevel(10)
sm.setLevel(10)
logger1.info('Egon借给李杰100w')
最新文章
- ASP.NET MVC 项目中 一般处理程序ashx 获取Session
- Linux安装node
- 线程池ThreadPoolExecutor、Executors参数详解与源代码分析
- RegularHelper
- PHP与Javascript的混合测试
- 51NOD 1623 完美消除 数位DP
- 在单元测试中指定log4j的配置文件
- Robotium 系列(1)
- 过滤器(filter)实现用户登录拦截
- 【UVA10537】The Toll! Revisited (逆推最短路)
- Java Swing TextArea 滚动条和获得焦点
- python手记(11)
- android 定时器(Handler Timer Thread AlarmManager CountDownTimer)
- UEP-弹窗给选中数据赋值
- git pull error
- 二十二、Spring MVC与Structs2的区别总结
- centos 7部署graphite(nginx+uwsgi)
- IOS 集成支付宝和邮件发送
- 《NodeJs开发指南》第五章微博开发实例的中文乱码问题
- nginx 域名绑定 域名, nginx 域名绑定 端口