如何使用logger在Python中登录特定格式?

时间:2013-12-29 22:46:13

标签: python logging

我正在使用Python,我正在使用RotatingFileHandler来登录某个文件。我有一个非常简单的问题

我正在这样记录 -

zooklogger.info("steps:: Actual Steps :: Workflow Path :: Host Path %s %s %s" % (steps, wf_path, status_path))

这就是记录的方式 -

steps:: Actual Steps :: Workflow Path :: Host Path [u'step3', u'step2', u'step1'] /re/wf/ius/v1 /re/colo/phx/h1/wf/ius/v1

是否可以将其记录为 -

steps:: Actual Steps :: [u'step3', u'step2', u'step1'], Workflow Path :: /re/wf/ius/v1, Host Path :: /re/colo/phx/h1/wf/ius/v1

我知道这是一个非常愚蠢的问题,但无法弄明白。

1 个答案:

答案 0 :(得分:1)

当然,只需移动%s占位符:

zooklogger.info("steps:: Actual Steps :: %s, Workflow Path :: %s, Host Path :: %s" % (steps, wf_path, status_path))

这三个字符串被插入到这些位置的字符串中。

请注意,您可以将插值步骤留给logging模块;它会推迟将值插值到最后一刻;这样,如果日志条目永远不会到达处理程序,它就不会起作用,例如:

zooklogger.info("steps:: Actual Steps :: %s, Workflow Path :: %s, Host Path :: %s",
                steps, wf_path, status_path)

这里将三个参数分别传递给logger.info()调用。