ÀÖÓãµç¾º

  • ½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

    È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

    Python±à³Ì¼ÓÈëÈÕÖ¾µÄ·½·¨

    ¸üÐÂʱ¼ä:2020Äê08ÔÂ03ÈÕ14ʱ12·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:

    · ÈÕÖ¾¶ÔÓÚWebÓ¦ÓõÄ×÷ÓþÍÏñ·É»úµÄºÚÏ»×Ó£¬ÓÃÓڼǼWebÓ¦ÓõÄÔËÐÐ״̬£¬·½±ã¿ª·¢Õß¿ìËÙ¶¨Î»´íÎó²¢½øÐÐÐÞ¸´¡£

    · pythonÖÐÄÚÖÃµÄ loggingÄ£¿é¹¦ÄÜÈ«Ãæ£¬webÓ¦Óü¯³ÉÈÕÖ¾¹¦ÄÜ»ù±¾¶¼ÊÇ»ùÓÚ¸ÃÄ£¿é¡£

    1. »ù±¾Ê¹ÓÃ

    · loggingÄ£¿éÌṩÁËĬÈÏÈÕÖ¾£¬Ö»ÐèҪͨ¹ýbasicConfig()º¯Êý¾Í¿ÉÒÔ¿ìËÙÅäÖÃ

    · loggingÄ£¿éÌṩÁ˶à¸öÈÕÖ¾¼¶±ð: ÖÂÃü´íÎóCRITICAL /´íÎóERROR /¾¯¸æWARNING /ÐÅÏ¢INFO /µ÷ÊÔDEBUG£¬·½±ã¿ª·¢ÕßÌṩÐèÇó½øÐÐÈÕÖ¾¹ýÂË¡£

    ´úÂëʾÀý

    import logging

    def basic_log():
        """ʹÓÃĬÈÏÈÕÖ¾
        ȱµã: ÎļþÊä³ö/¿ØÖÆÌ¨Êä³ö ¶þѡһ"""
     
        format = "%(name)s %(levelname)s %(pathname)s %(lineno)d %(message)s"
     
        # ÉèÖÃĬÈÏÈÕÖ¾
        logging.basicConfig(level="DEBUG", format=format, filename='basic.log')
     
        # ʹÓÃĬÈÏÈÕÖ¾
        logging.debug('this is a debug message')
        logging.info('this is a info message')
        logging.warning('this is a warn message')
        logging.error('this is a error message')
     
     
    if __name__ == '__main__':
        basic_log()

    · ×¢Òâµã:

    ĬÈÏÈÕÖ¾µÄȱµãÊÇÎļþÊä³ö/¿ØÖÆÌ¨Êä³öÖ»Äܶþѡһ

    2. ×Ô¶¨ÒåÈÕÖ¾Æ÷

    · ×Ô¶¨ÒåÈÕÖ¾Æ÷¿ÉÒÔÌí¼Ó¶à¸öÊä³ö´¦ÀíÆ÷, ½«ÈÕ־ͬʱÊä³öµ½ ¿ØÖÆÌ¨ & Îļþ & Óʼþ µÈ»·¾³ÖÐ

    · ×Ô¶¨ÒåÈÕÖ¾Æ÷µÄ»ù±¾Ê¹Óò½Öè:

    (1)´´½¨/»ñÈ¡×Ô¶¨ÒåÈÕÖ¾Æ÷

    (2)´´½¨Êä³ö´¦ÀíÆ÷

    (3)ÈÕÖ¾Æ÷Ìí¼Ó´¦ÀíÆ÷

    (4)ʹÓÃ×Ô¶¨ÒåÈÕÖ¾

    import logging
    from logging.handlers import RotatingFileHandler
     
     
    def custem_log():
        """ʹÓÃ×Ô¶¨ÒåÈÕÖ¾  ¿ÉÒÔͬʱÔÚ¿ØÖÆÌ¨ºÍÎļþÊä³ö"""
     
        # ´´½¨/»ñÈ¡×Ô¶¨ÒåµÄÈÕÖ¾Æ÷
        mylogger = logging.getLogger('mylogger')
        # ÉèÖÃÈ«¾Ö¼¶±ð
        mylogger.setLevel('DEBUG')
     
        # ´´½¨¿ØÖÆÌ¨´¦ÀíÆ÷
        console_handler = logging.StreamHandler()
     
        # ¸ø´¦ÀíÆ÷ÉèÖÃÊä³ö¸ñʽ
        console_formatter = logging.Formatter(fmt='%(name)s %(levelname)s %(pathname)s %(lineno)d %(message)s')
        console_handler.setFormatter(console_formatter)
     
        # ÈÕÖ¾Æ÷Ìí¼Ó´¦ÀíÆ÷
        mylogger.addHandler(console_handler)
     
        # ´´½¨Îļþ´¦ÀíÆ÷
        file_handler = RotatingFileHandler(filename='mylogger.log', maxBytes=100 * 1024 * 1024, backupCount=10)  # ת´æÎļþ´¦ÀíÆ÷  µ±´ïµ½ÏÞ¶¨µÄÎļþ´óСʱ, ¿ÉÒÔ½«ÈÕ־ת´æµ½ÆäËûÎļþÖÐ
     
        # ¸ø´¦ÀíÆ÷ÉèÖÃÊä³ö¸ñʽ
        file_formatter = logging.Formatter(fmt='[%(asctime)s] %(name)s %(levelname)s %(pathname)s %(lineno)d %(message)s')
        file_handler.setFormatter(file_formatter)
        # µ¥¶ÀÉèÖÃÎļþ´¦ÀíÆ÷µÄÈÕÖ¾¼¶±ð
        file_handler.setLevel('WARN')
     
        # ÈÕÖ¾Æ÷Ìí¼Ó´¦ÀíÆ÷
        mylogger.addHandler(file_handler)
     
        # ʹÓÃ×Ô¶¨ÒåÈÕÖ¾
        mylogger.debug('this is a debug message')
        mylogger.info('this is a info message')
        mylogger.warning('this is a warn message')
        mylogger.error('this is a error message')
     
     
    if __name__ == '__main__':
        custem_log()


    3. Óʼþ·¢ËÍÈÕÖ¾

    · ÏîÄ¿ÉÏÏߺ󣬿ª·¢ÕßÍùÍù²»»á³ÖÐø¹Ø×¢ËùÓеÄÈÕÖ¾ÐÅÏ¢£¬ÎªÁ˸ü¿ìµÄ·¢Ïֺͽâ¾ö´íÎ󣬱Ƚϳ£¹æµÄÒ»ÖÖ·½Ê½Êǽ«Ò»°ã»òÕ߸߼¶±ðµÄ´íÎóдÈëµç×ÓÓʼþ²¢·¢Ë͸ø¿ª·¢Õß¡£

    · loggingÄ£¿é¿ÉÒÔÅäÖÃÒ»¸öSMTPHandlerÓʼþÊä³ö´¦ÀíÆ÷À´ÊµÏÖ¸ÃÐèÇó

    ´úÂëʾÀý

    import logging
    from logging.handlers import SMTPHandler
     
     
    def mail_log():
        """ʹÓÃÓʼþÊä³öÈÕÖ¾, ½«ÈÕÖ¾ÒÔÓʼþÐÎʽ·¢ËÍ"""
     
        # ´´½¨/»ñÈ¡×Ô¶¨ÒåµÄÈÕÖ¾Æ÷
        mylogger = logging.getLogger('mylogger')
        # ÉèÖÃÈ«¾Ö¼¶±ð
        mylogger.setLevel('DEBUG')
     
        # ´´½¨Óʼþ´¦ÀíÆ÷
        mail_handler = SMTPHandler(
            mailhost=('smtp.163.com', 25),  # SMTP³ÆÎª¼òµ¥Óʼþ´«ÊäЭÒé, 163ÌṩÁËÖ§³Ö¸ÃЭÒéµÄÓʼþ·þÎñÆ÷, ¶Ë¿ÚΪ25
            fromaddr='czbk_zzz@163.com',  # ·¢¼þÈ˵ØÖ·
            toaddrs=['xxx@itcast.cn', 'xx@qq.com'],  # ÊÕ¼þÈ˵ØÖ·
            subject='Log Error',
            credentials=('czbk_zzz@163.com', 'HZLLPADWYUWUVDIQ')  # ·¢¼þÈ˵ÄÓʼþµØÖ· ºÍ ·¢¼þÈ˵ÄÊÚȨÃÜÂë
        )
     
        # ¸ø´¦ÀíÆ÷ÉèÖÃÊä³ö¸ñʽ
        mail_formatter = logging.Formatter(fmt='%(name)s %(levelname)s %(pathname)s %(lineno)d %(message)s')
        mail_handler.setFormatter(mail_formatter)
        # ÉèÖÃÓʼþ´¦ÀíÆ÷µÄÈÕÖ¾¼¶±ð
        mail_handler.setLevel('ERROR')
     
        # ÈÕÖ¾Æ÷Ìí¼Ó´¦ÀíÆ÷
        mylogger.addHandler(mail_handler)
     
        # ʹÓÃ×Ô¶¨ÒåÈÕÖ¾
        mylogger.debug('this is a debug message')
        mylogger.info('this is a info message')
        mylogger.warning('this is a warn message')
        mylogger.error('this is a error message')
     
     
    if __name__ == '__main__':
        mail_log()

    ·¢ËÍÓʼþÊǺÄʱ²Ù×÷£¬¿ÉÒÔ¿¼ÂÇʹÓÃceleryÖ´ÐÐÒì²½ÈÎÎñ£¬Ìá¸ßÏìÓ¦ËÙ¶È¡£


    ²ÂÄãϲ»¶

    PythonÀ¬»ø»ØÊÕ»úÖÆÊÇʲô? 

    python·´ÉäÒÔ¼°Ó¦Óó¡¾° 

    ÀÖÓã²¥¿ÍPythonÅàѵ¿Î³Ì

    ʲôÊÇPython?×îÈ«µÄpython°Ù¿Æ

    PythonÏÂÔØºÍ°²×°Í¼ÎĽ̳Ì[³¬Ïêϸ]

    È˹¤ÖÇÄÜÅàѵ¿Î³Ì

    0 ·ÖÏíµ½£º
    ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
      ¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿