python日志记录kwarg在通过args部分时失败
我有以下文件配置部分:python日志记录kwarg在通过args部分时失败,python,logging,Python,Logging,我有以下文件配置部分: [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",
[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
args=eval(args,vars(日志))
文件“”,第1行
('../output/DataUpload.log',when='D',backupCount=3)
^
SyntaxError:无效语法
这里不支持kwargs还是我做错了什么
谢谢。首先,不要使用eval(),这是一个非常糟糕的主意使用ConfigParser或JSON或其他工具来存储和加载配置 至于错误:
args = (...,)
这将创建一个元组。元组不能有命名元素。您希望使用元组或列表作为位置参数,使用dict作为命名参数。如果在配置文件中使用JSON,您会得到这样的结果。我正在使用logging.config指定的配置文件(我已经编辑了原始问题)-我没有新创建的内容,也没有在任何地方使用eval。你的意思是我不应该使用logging.config,这不是个坏主意吗?谢谢Colin.+1您不能使用
logging.config
传递关键字参数@TokenMacGuy您的评论就是实际答案。