zoukankan      html  css  js  c++  java
  • python3基础10(操作日志)

    #!/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("----测试结束----")
  • 相关阅读:
    “TensorFlow 开发者出道计划”全攻略,玩转社区看这里!
    魔改合成大西瓜
    自定义注解!绝对是程序员装逼的利器!!
    Python中的join()函数的用法
    Python中的split()函数的用法
    linux 完全卸载mysql数据库
    域名被盗后还能不能找回
    在选择域名后缀时应该考虑到的问题
    什么叫域名劫持 和域名解析有什么区别
    河北重大技术需求系统04
  • 原文地址:https://www.cnblogs.com/NiceTime/p/10070117.html
Copyright © 2011-2022 走看看