首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >空记录器的问题(日志记录)

空记录器的问题(日志记录)
EN

Stack Overflow用户
提问于 2016-06-10 21:56:12
回答 1查看 1K关注 0票数 1

我有一个问题,当我不想要任何日志记录时,我的代码会崩溃。我控制是否希望看到带有'-v‘选项的日志记录。我还有一个'd‘选项来设置调试模式。

现在,如果没有指定'-v‘选项,我的代码就会崩溃。

代码语言:javascript
复制
def initLogging(cfg):

    cformat   = logging.Formatter('%(asctime)s   %(message)s', "%Y-%m-%d %H:%M:%S %Z")
    clogger   = None

    try:

        if cfg['debug']:
            loglevel = logging.DEBUG
        else:
            loglevel = logging.INFO

        logger = logging.getLogger()
        logger.setLevel(loglevel)

        if not cfg['verbose']:
            logger.addHandler(logging.NullHandler())
            return
        else:
            clogger = logging.StreamHandler()
            clogger.setLevel(loglevel)
            clogger.setFormatter(cformat)
            logger.addHandler(clogger)

    except Exception, error:
        sys.stderr.write("Error: Unable to initialize logging:  %s\n" % error)
        sys.stderr.flush()
        sys.exit(1)

    logger.info("Script initiated.")

    return logger

我得到的错误是:

代码语言:javascript
复制
'NoneType' object has no attribute 'info'

当到达如下所示的记录器语句时,就会发生这种情况:

代码语言:javascript
复制
logger.info("get_repl_actions(): executing REST query 'GET %s'" % rurl)

我如何调整它,使它在没有'-v‘的情况下调用脚本时工作?

EN

回答 1

Stack Overflow用户

发布于 2016-06-11 00:19:44

尝试以下操作:

代码语言:javascript
复制
if not cfg['verbose']:
     logger.addHandler(logging.NullHandler())
     return logger
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37750121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档