4

我有以下文件配置部分:

[handler_file]
class = handlers.TimedRotatingFileHandler
args = ( '../output/DataUpload.log', when='D', backupCount=3)
formatter = generic

由 logging.config 指定

from logging import config, getLogger
config.fileConfig( "config/logging.cfg", disable_existing_loggers = True )

我收到以下错误:

  args = eval(args, vars(logging))
  File "<string>", line 1
    ( '../output/DataUpload.log', when='D', backupCount=3)
                                      ^
SyntaxError: invalid syntax

这里不支持 kwargs 还是我做错了什么?

谢谢。

4

1 回答 1

0

首先,不要使用 eval(),这是一个非常糟糕的主意!!使用 ConfigParser 或 JSON 或其他东西来存储和加载配置。

至于错误:

args = (...,)

这将创建一个元组。元组不能有命名元素。您想为位置参数使用元组或列表,为命名参数使用字典。如果你使用 JSON 作为配置文件,你会得到这个。

于 2012-07-31T14:43:34.430 回答