我用curses为我的应用程序创建了一个简单的UI,我还使用herarchy结构(logmain,logmain.child1)等等。在
如果发生日志事件,日志将显示在我的UI中,这会破坏日志的显示。 我还创建了一个pad(myLogPad)来输出传入的日志,但是没有成功。 如何截获日志事件并将其打印在屏幕的特定区域(最后一行)?在
def setupLogger(name,file_name):
logger = logging.getLogger(name)
logger.setLevel(logging.DEBUG)
#formatter = logging.Formatter(
# "%(asctime)s %(threadName)-11s %(levelname)-10s %(message)s")
formatter = logging.Formatter('%(asctime) -25s - %(name) -15s - %(levelname) -10s - %(message)s')
formatterDisplay = logging.Formatter('%(asctime)-8s|%(name)-12s|%(levelname)-6s|%(message)-s', '%H:%M:%S')
# Alternative formatting available on python 3.2+:
# formatter = logging.Formatter(
# "{asctime} {threadName:>11} {levelname} {message}", style='{')
# Log to file
filehandler = logging.FileHandler(file_name, 'w')
filehandler.setFormatter(formatter)
logger.addHandler(filehandler)
# Log to stdout too
streamhandler = logging.StreamHandler()
streamhandler.setFormatter(formatterDisplay)
logger.addHandler(streamhandler)
我尝试在streamhandler=日志记录.StreamHandler()但没有成功。 有什么想法吗? 谢谢你
{{cd2>你可以创建一个
(这基本上是从
^{pr2}$logging.StreamHandler
复制的。) 窗口或键盘需要初始化以允许自动滚动等:这里,
screen
是主curses
屏幕。在多亏了@zeemonkez我解决了这个问题。 下面是完整的代码示例:
相关问题 更多 >
编程相关推荐