繁体   English   中英

@classmethod中的Python 3.5 logger.info

[英]Python 3.5 logger.info in @classmethod

python的新手,以前从未使用过@classmethod。 问题-由于某些原因,在shutdown_webdriver函数内未执行logger方法。

import time
import logging

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.common.proxy import Proxy


class WebBrowserSettings(object):
    logger = logging.getLogger(__name__)

    def __init__(self, proxy):
        self.proxy = proxy

    def setup_remote_chromedriver(self):

        **irrelevant code**

        return browser

    @classmethod
    def shutdown_webdriver(cls, browser):
        print('here')
        cls.logger.info("Shutting down 1")
        for index in range(0, 20):
            error_check = 0
            try:
                time.sleep(5)
                browser.quit()
            except Exception:
                error_check = 1

            if error_check == 0:
                break

        cls.logger.info("Browser is down")

因此,我在控制台输出中仅看到print('here')消息。

PS日志记录配置已设置且稳定,可在其他类中使用。

我认为此处显示的代码没有问题。 我怀疑你会看到日志输出,当你更换cls.logger.infocls.logger.error 这意味着日志记录系统的配置出了点问题。 这也是此处未显示的部分,因此我无法确定出了什么问题。

无论如何,您都必须确保在实例化记录器实例之前,将记录系统配置为显示级别INFO 在解析代码时(可能在其他一些代码导入此模块时)实例化了您的记录器。 这又意味着您必须在导入此模块之前配置日志记录系统。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM