我尝试构建一个记录器,它也记录了python解释器的完整输出,这通常是你在控制台上看到的。
这是我的建议,它没有用。
logger = logging.getLogger()
stdoutStreamHandler = logging.StreamHandler(sys.stdout)
stderrStreamHandler = logging.StreamHandler(sys.stderr)
fileHandler = logging.FileHandler(logpath)
logger.addHandler(stdoutStreamHandler)
logger.addHandler(stderrStreamHandler)
答案 0 :(得分:0)
通过记录Python解释器的完整输出,不确定您的意思,您是指运行时的命令行解释器还是后台解释器?
无论哪种方式,这都有帮助:trace
这将允许您使用跟踪执行任何代码,并且还允许您将其写入文件:
import sys import trace # create a Trace object, telling it what to ignore, and whether to # do tracing or line-counting or both. tracer = trace.Trace( ignoredirs=[sys.prefix, sys.exec_prefix], trace=0, count=1) # run the new command using the given tracer tracer.run('main()') # make a report, placing output in the current directory r = tracer.results() r.write_results(show_missing=True, coverdir=".")
我自己还没有使用它,但可以执行
logger.debug(r)
哪会在您的日志文件中创建调试日志级别的记录,当然,您可以将其更改为信息,警告,错误或关键。