#!/usr/bin/env python
# -*- coding:UTF-8 -*- import logging, time, os # 这个是日志保存本地的路径
log_path = "D:\\ideaSpace\\autoProject\\autotest\\nicetime" class Log:
def __init__(self):
# 文件的命名
self.logname = os.path.join(log_path,'%s.log'%time.strftime('%Y_%m_%d'))
self.logger = logging.getLogger() # 日志输出格式
self.formatter = logging.Formatter('[%(asctime)s]- %(filename)s] - %(levelname)s: %(message)s') def __console(self, level, message):
# 创建一个 FileHandler,用于写到本地
fh = logging.FileHandler(self.logname, 'a', encoding='utf-8')
fh.setLevel(self.level)
fh.setFormatter(self.formatter)
self.logger.addHandler(fh) # 创建一个 StreamHandler,用于输出到控制台
# ch = logging.StreamHandler()
# ch.setLevel(self.level)
# ch.setFormatter(self.formatter)
# self.logger.addHandler(ch) if level == 'info':
self.logger.info(message)
elif level == 'debug':
self.logger.debug(message)
elif level == 'warning':
self.logger.warning(message)
elif level == 'error':
self.logger.error(message) # 这两行代码是为了避免日志输出重复问题
# self.logger.removeHandler(ch)
self.logger.removeHandler(fh) # 关闭打开的文件
fh.close() def debug(self, message):
self.level = logging.getLevelName(logging.DEBUG)
self.__console('debug', message) def info(self, message):
self.level = logging.getLevelName(logging.INFO)
self.__console('info', message) def warning(self, message):
self.level = logging.getLevelName(logging.WARNING)
self.__console('warning', message) def error(self, message):
self.level = logging.getLevelName(logging.ERROR)
self.__console('error', message) if __name__ == "__main__":
log = Log()
log.info("---测试开始----")
log.info("输入密码")
log.warning("----测试结束----")

最新文章

  1. 《图解tcp/ip》读书笔记(二)
  2. J2ee 巴巴网站制作(一)
  3. Linux中__init、__devinit等内核优化宏【转】
  4. SQL存储过程和触发器
  5. 关于cvAdsDiffS的那些事
  6. 在 Windows 7 Professional、Enterprise 或 Ultimate 上安装 IIS 7.5
  7. cocos2d-x 发动机分析:程序如何开始和结束?
  8. 使用WCF Data Service 创建OData服务
  9. LVS-DR集群搭建
  10. [C#]如何访问及调用类中私有成员及方法
  11. PUTTY无法远程连接服务器故障解决[转]
  12. lvs 负载均衡 NAT模式
  13. 【English】20190416
  14. Centos7快速部署saltstack
  15. kafka 的安装部署
  16. python函数 传参的多种方式 解读
  17. Lucene新版本号对ConjunctionScorer的优化
  18. urlparse模块(专门用来解析URL格式)
  19. Eclipse中的创建maven项目,无法添加src/main/java等source folder
  20. ERROR 1044: Access denied for user: 'songyan' to database 'yikexiao' 的错误。

热门文章

  1. 【eclipse-js验证】
  2. EasyUI+MVC4实现后台管理系统一:登陆和进入后台界面
  3. PS2018学习笔记(30-35节)
  4. X-Content-Type-Options和 X-XSS-Protection
  5. 手写堆的dijkstra
  6. PostGIS安装 pgis3.4.2 postgresql 10.1
  7. xml 的使用和解析 及解析工具
  8. 小K的农场 差分约束
  9. sql For update
  10. Ubuntu系统下同时打开多个终端窗口的软件