# 1、负责往控制台里面输出日志信息的
# 2、往日志文件里面写日志的,按天生成日志,清理日志
import logging
from logging import handlers logger = logging.getLogger() #先实例化一个logger对象,先创建一个办公室
#logger.setLevel(logging.DEBUG) #设置日志的级别:DEBUG、INFO、WARNING、ERROR四个级别
console_handler = logging.StreamHandler() #控制台
file_handler = handlers.TimedRotatingFileHandler(filename='a.log',when='M',interval=1,backupCount=5,encoding='utf-8') #文件
# when,按什么单位
#S 秒
# M 分
# H 小时
# D 天
# W 每星期(interval==0时代表星期一)
# filename:日志文件名的prefix
# backupCount:表示日志文件的保留个数
fmt = logging.Formatter('%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s') #指定日志的格式
console_handler.setFormatter(fmt) #设置控制台输出的日志格式
file_handler.setFormatter(fmt) #设置文件里面写入的日志格式
logger.addHandler(console_handler) #控制台handler对象加入到日志对象
logger.addHandler(file_handler) #把操作文件的handler加入到日志对象 #输出错误和警报日志信息,不需要设置日志的级别
#输出debug和info信息时,需要设置日志的级别,否则不会输出info和debug的信息
logger.warning('我是warning。。。')
logger.error('我是error。。。')
logger.debug('我是debug。。。')
logger.info('我是info。。。') #运行结果:控制台和文件中都输出了日志信息

最新文章

  1. <读书笔记>软件调试之道 :从大局看调试-发现代码存在问题
  2. Twitter Bootstrap
  3. C语言之共用体
  4. AsyncTask实现多线程断点续传
  5. 项目源码--Android聚合视频类播放器
  6. [转]虚方法(virtual)和抽象方法(abstract)的区别
  7. JVM优化
  8. (转载)php curl_init函数用法
  9. Java Load Properties 文件,定义message信息
  10. NHibernate系列
  11. Linq第三讲
  12. 201521123036 《Java程序设计》第6周学习总结
  13. Docker几个基本常识
  14. 【转】Oracle imp 总是不停地重复闪烁
  15. cocos中FPS数值的含义
  16. [SRC初探]手持新手卡挖SRC逻辑漏洞心得分享
  17. JNI编程实现(Linux)
  18. oracle 数据库备份、还原、和使用心得(表丢失、视图丢失的解决办法)
  19. 用JS和JQ来获取子节点!
  20. LA 3486 Cells(判祖先+栈模拟dfs)

热门文章

  1. 调试存储过程:ORA-0131 Insufficient privileges
  2. mybatis oracle和mysql like模糊查询写法
  3. 20135234mqy 实验三:敏捷开发与XP实践
  4. Internet History, Technology and Security (Week⑨)
  5. c++中的函数重载
  6. JS实现前端将数据导出excel
  7. .NET WinForm下StatusStrip控件如何设置分隔线及部分子控件右对齐
  8. JS获取地址栏中的链接URL参数
  9. mysql 数据到 导入导出 总结
  10. ACM数论之旅1---素数(万事开头难(>_<))