使用logging模块来写日志

日志直接输出到准备输出

import logging

logging.basicConfig(level=logging.WARNING,
format="%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s") # 直接使用logging来写日志,会同时写在文件和标准输出中
logging.debug("debug level")
logging.info("info level")
logging.warning("warning level")
logging.error("error level")
logging.critical("critical level")

日志输出到文件

import logging

logging.basicConfig(level=logging.WARNING,
filename='basic_log.txt',
filemode='w',
format="%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s") # 直接使用logging来写日志,会同时写在文件和标准输出中
logging.debug("debug level")
logging.info("info level")
logging.warning("warning level")
logging.error("error level")
logging.critical("critical level")

同时向不同地方写日志

import logging

# 创建一个logger
logger = logging.getLogger()
logger.setLevel(logging.INFO) # 创建一个handler,用于写入日志文件
logfile = './log.txt'
fh = logging.FileHandler(logfile, mode='a')
# 写入日志文件的级别为DEBUG
fh.setLevel(logging.DEBUG) # 创建另一个handler,用于将日志输出到标准输出
ch = logging.StreamHandler()
# 标准输出的日志级别的WARNING
ch.setLevel(logging.WARNING) # 定义日志格式
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s") # 将格式应用到fh和ch两个handler
fh.setFormatter(formatter)
ch.setFormatter(formatter) # 将handler装载到logger中
logger.addHandler(fh)
logger.addHandler(ch) # 使用logger来写日志,会同时写在文件和标准输出中
logger.debug("debug level")
logger.info("info level")
logger.warning("warning level")
logger.error("error level")
logger.critical("critical level")

最新文章

  1. so 问题来了,你现在值多少钱?
  2. [转帖]零投入用panabit享受万元流控设备——搭建篇
  3. poj 3264:Balanced Lineup(线段树,经典题)
  4. Linux TC流量控制HOWTO中文版
  5. 生成月初月末便于拼接sql
  6. java8 函数式编程
  7. 利用BlazeDS的AMF3数据封装与Flash 进行Socket通讯
  8. Python 强大而易用的文件操作(转载)
  9. 实现当UILable的内容超出其范围后自动滚动效果
  10. android动态LinearLayout
  11. mysql清除数据库中字符串空格方法
  12. 浅谈CSRF漏洞
  13. Spring拓展接口之BeanFactoryPostProcessor,占位符与敏感信息解密原理
  14. pycharm 常用快捷键操作
  15. DOS 格式化日期时间输出
  16. 阿里语音识别(语音转文字)java调用全程手把手详解-适合中小学生快速上手
  17. QT 5.4.1 for Android Ubuntu QtWebView Demo
  18. Eureka常见问题总结
  19. cocos2d-x入门三 分层设计框架
  20. New Concept English three (42)

热门文章

  1. 第十三章 字符串 (四)之Scanner类
  2. C++中用ODBC和ADO方式连接SQL数据库
  3. python中property属性的介绍及其应用
  4. 并不对劲的复健训练-CF1187D
  5. 20-Perl 正则表达式
  6. django 支持跨域请求配置
  7. MySQL mysql-5.7.21-winx64.zip安装指南
  8. 服务端相关知识学习(一)之什么是zookeeper
  9. vim insert VISUAL模式无法右键复制问题(转)
  10. jQuery快速入门专题