【问题标题】:Python Try-Except: How to variabilize Logging.info?Python Try-Except:如何改变 Logging.info?
【发布时间】:2018-08-10 01:49:34
【问题描述】:

这将是你一整天看到的最有趣的事情。但在这里。如何将打印出的异常消息转换为变量,以便将它们全球化并更新到我的数据库中?

这是类比:

try:

except Exception as e:
        logging.error(traceback.format_exc())

这是我目前正在做的事情:

try:

except Exception as e:
        logging.error(traceback.format_exc())
        loginerror = logging.error(traceback.format_exc())
        print str(loginerror)

所以,我基本上没有,因为显然它没有被变量化:

None

如果需要,这是我的异常消息打印出来的内容:

2018-08-10 09:38:00,009 - root - ERROR - Traceback (most recent call last):
  File "C:\jobtech-crawlers\crawler_parttimejobs.py", line 122, in dump_parttimejobs
    response = requests_retry_session().get(url=linkWqery)
NameError: global name 'linkWqery' is not defined

【问题讨论】:

  • 如果您需要更多信息,我会随时待命!提前致谢!
  • 所以如果我理解正确,您需要在变量中获取异常信息吗?这是正确的,同时仍然能够记录这个吗?为什么不在 try: except: 块内使用 globalVar = sys.exc_info() 之类的东西并简单地使用 logging.exception ?还是将traceback.format_exc() 保存到一个变量中,然后将该变量传递给logging.error
  • 是的!谢谢。是的,这正是我所需要的。

标签: python variables logging error-logging try-except


【解决方案1】:

如果删除 logging.error,它会返回错误消息的字符串。

try:
    print(0/0)
except Exception as e:
    x = traceback.format_exc()

print(x)

【讨论】:

  • 谢谢!我已经从前面的评论员那里理解了我的错误。这也有效!谢谢。
  • @HanJinn 抱歉,没有看到他们的评论。很高兴它成功了!
猜你喜欢
  • 2019-06-26
  • 1970-01-01
  • 1970-01-01
  • 2011-04-25
  • 2018-03-19
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多