Python日志python解释器输出

时间:2016-04-07 08:54:42

标签: python logging

我尝试构建一个记录器,它也记录了python解释器的完整输出,这通常是你在控制台上看到的。

这是我的建议,它没有用。

logger = logging.getLogger()
stdoutStreamHandler = logging.StreamHandler(sys.stdout)
stderrStreamHandler = logging.StreamHandler(sys.stderr)
fileHandler = logging.FileHandler(logpath)
logger.addHandler(stdoutStreamHandler)
logger.addHandler(stderrStreamHandler)

1 个答案:

答案 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)

哪会在您的日志文件中创建调试日志级别的记录,当然,您可以将其更改为信息,警告,错误或关键。