zoukankan      html  css  js  c++  java
  • python

    为什么要打印日志?

    代码需要经历开发、调试、审查、测试或者上线等不同阶段,在开发时想要打印的信息类型可能和上线后想看到的信息类型完全不同,
    通过打印的信息可以快速查找到代码哪里出了问题。

    使用logging日志模块,可以打印出使用的模块以及代码运行的时间。


    import logging, time, os
    
    BASE_PATH = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
    # 定义日志文件路径
    LOG_PATH = os.path.join(BASE_PATH, "log")
    if not os.path.exists(LOG_PATH):
        os.mkdir(LOG_PATH)
    
    
    class Logger():
    
        def __init__(self):
            self.logname = os.path.join(LOG_PATH, "{}.log".format(time.strftime("%Y%m%d")))
            self.logger = logging.getLogger("log")
            self.logger.setLevel(logging.DEBUG)
    
            self.formater = logging.Formatter(
                '[%(asctime)s][%(filename)s %(lineno)d][%(levelname)s]: %(message)s')
    
            self.filelogger = logging.FileHandler(self.logname, mode='a', encoding="UTF-8")
            self.console = logging.StreamHandler()
            self.console.setLevel(logging.DEBUG)
            self.filelogger.setLevel(logging.DEBUG)
            self.filelogger.setFormatter(self.formater)
            self.console.setFormatter(self.formater)
            self.logger.addHandler(self.filelogger)
            self.logger.addHandler(self.console)
    
    
    logger = Logger().logger
    
    if __name__ == '__main__':
        logger.info("---测试开始---")
        logger.debug("---测试结束---")
    
    
  • 相关阅读:
    java 14 -7 Date
    java 14 -6 BigInteger和BigDecimal
    java 14 -5 System类
    java14-4 Pattern和Matcher类的使用
    java 14-3 正则表达式的分割
    转:StringBuilder与StringBuffer的区别(转)
    kafka之config/server.properties配置参数说明
    Kafka内核理解:消息的收集/消费机制
    kafka删除topic及其相关数据
    kafka使用问题解决
  • 原文地址:https://www.cnblogs.com/wwho/p/15505400.html
Copyright © 2011-2022 走看看