用什么替换wx.PyLog?

问题描述

我正在将一些Python代码从2.7移植到3.x。原始代码因以下错误而失败:

package-lock.json

当检查是否存在wx.PyLog时,它确实不存在:

class myTextLog(wx.PyLog):
AttributeError: 'module' object has no attribute 'PyLog'

当我检查wx的较旧版本中是否存在wx.PyLog时,它在那里:

>>> import wx
>>> wx.PyLog
Traceback (most recent call last):
  File "<stdin>",line 1,in <module>
AttributeError: 'module' object has no attribute 'PyLog'
>>> wx.version()
u'4.1.0 msw (phoenix) wxWidgets 3.1.4'

我看到它已在以下旧示例代码中使用:http://www2.geog.ucl.ac.uk/~plewis/bpms/src/start/Main.py

>>> import wx
>>> wx.PyLog
<class 'wx._misc.PyLog'>
>>> wx._misc
<module 'wx._misc' from '/usr/lib/python2.7/site-packages/wx-3.0-gtk2/wx/_misc.pyc'>
>>> wx.version()
'3.0.2.0 gtk2 (classic)'

似乎已被删除。对于上面给出的wx.PyLog不再可用的代码,什么是合适的替代品?

解决方法

在python 3.x中,您应该使用:logging

您将要查看 Logging HOWTO

import logging
logging.basicConfig(filename='example.log',encoding='utf-8',level=logging.DEBUG)
logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this,too')
logging.error('And non-ASCII stuff,too,like Øresund and Malmö')