日志包的调试方法不起作用

时间:2018-03-16 04:39:30

标签: python python-3.x debugging logging kivy

我从表单中获取输入并将它们从kivy文件(on_press属性)传递给此函数。表单数据在execute函数中正确获取,但不会记录在myapp.log中 这是代码:

import logging
import selenium

class UIf(GridLayout):
    def execute(self, *args):
        print("First probe")
        logging.basicConfig(filename="myapp.log", level = logging.DEBUG, format='%(asctime)s:%(message)s')
        print("Second probe")
        for name in args:
            print("Third probe")
            logging.debug(name)

class MyApp(App):
    def build(self):
        return UIf()

if __name__ == '__main__':
    runapp = MyApp()
    runapp.run()

1 个答案:

答案 0 :(得分:1)

请务必在导入任何kivy代码之前进行basicConfig调用,因为它会自行执行,这可能与您的参数(尤其是输出文件)冲突。

此外,您可能需要在kivy配置中将调试级别设置为DEBUG,或者在 kivy导入后重置自己的日志级别,因为它会将其重置为其值。

我同意它有点干扰,我们应该认为这是一个错误,虽然我不知道什么是最好的方法,两个都有良好的默认值,并避开有意见的人的方式将是