您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

将stdout重定向到Python中的记录器

5b51 2022/1/14 8:21:13 python 字数 1909 阅读 489 来源 www.jb51.cc/python

我可以将stdout的所有输出重定向到我使用标准日志记录模块设置的记录器吗?(我有os.system调用,其输出我也想看到或掩盖打印语句)最佳答案您可以使用this post中的建议,总结如下:import logging class LoggerWriter: def __init__(self, logger, level):

概述

我可以将stdout的所有输出重定向到我使用标准日志记录模块设置的记录器吗?
(我有os.system调用,其输出我也想看到或掩盖打印语句)

import logging

class LoggerWriter:
    def __init__(self,logger,level):
        self.logger = logger
        self.level = level

    def write(self,message):
        if message != '\n':
            self.logger.log(self.level,message)

def main():
    logging.basicConfig(level=logging.DEBUG)
    logger = logging.getLogger("demo")
    info_fp = LoggerWriter(logger,logging.INFO)
    debug_fp = LoggerWriter(logger,logging.DEBUG)
    print >> info_fp,"An INFO message"
    print >> debug_fp,"A DEBUG message"

if __name__ == "__main__":
    main()

运行时,脚本会打印:

INFO:demo:An INFO message
DEBUG:demo:An DEBUG message

总结

以上是编程之家为你收集整理的将stdout重定向到Python中的记录器全部内容,希望文章能够帮你解决将stdout重定向到Python中的记录器所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶