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("----测试结束----")
  • 相关阅读:
    i=i+2 与i+=2
    如何浏览github上所有的公开的项目?
    在ubuntu怎样修改默认的编码格式
    链式结构实现堆排序
    直接插入排序的哨兵的作用
    lk进kernel
    比劫劫财引发的灾如何化解呢?
    java:Map借口及其子类HashMap二
    java:Map借口及其子类
    java:集合输出之foreach输出三
  • 原文地址:https://www.cnblogs.com/NiceTime/p/10070117.html
Copyright © 2011-2022 走看看