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