小编Osc*_*ffe的帖子

如何管理curses中的日志记录

我使用curses为我的应用程序创建了一个简单的UI,并且还使用层次结构(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)
Run Code Online (Sandbox Code Playgroud)

我尝试在streamhandler = logging.StreamHandler()中传递mylog pad但没有成功.任何的想法?谢谢

python curses logging intercept

12
推荐指数
2
解决办法
2133
查看次数

标签 统计

curses ×1

intercept ×1

logging ×1

python ×1