怎么用变量接收 INFO WARNING 信息

2022-09-17 09:12:45 +08:00
 ourpurple
def pdf2word(file_path):
file_name = file_path.split('.')[0]
doc_file = f'{file_name}.docx'
p2w = Converter(file_path)
p2w.convert(doc_file, multiprocessing=True, start=0, end=None, )
p2w.close()
return doc_file


新手,最近在学习,有个问题,就是调用这个函数的时候,会输出 INFO WARNING 等 logging 信息到控制台,那问题是怎么用一个变量接收到这些信息,让可以 print()
1334 次点击
所在节点    Python
3 条回复
kkeep
2022-09-18 02:32:07 +08:00
接管 sydin🌝🌝
julyclyde
2022-09-19 10:09:38 +08:00
logging 库
改一下 handler 试试
ourpurple
2022-09-20 16:32:29 +08:00
百度没找到。
在 github 上找到了。

class Handler(logging.StreamHandler):

def __init__(self):
logging.StreamHandler.__init__(self)

def emit(self, record):
global buffer
# record = f'{record.name}, [{record.levelname}], {record.message}'
record = f'[{record.levelname}], {record.message}'

buffer = f'{buffer}\n{record}'.strip()
window['log'].update(value=buffer)

log_file = 'run_log.txt'

logging.basicConfig(
level=logging.DEBUG,
format='%(name)s, %(asctime)s, [%(levelname)s], %(message)s',
filename=log_file,
filemode='w')

buffer = ''
ch = Handler()
ch.setLevel(logging.INFO)
logging.getLogger('').addHandler(ch)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/880733

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX