KeyError:'格式化程序'在记录模块中

时间:2017-09-02 19:38:55

标签: python logging keyerror

我在加载logging配置文件时遇到问题。这是我第一次使用logging,我将其基于another project。这就是我所拥有的:

logging.config.fileConfig('C:/....../FX_Base/trading/logging.conf',
                          disable_existing_loggers=False)
logger = logging.getLogger('FX_Base.trading.trading')

以下是完整的追溯:

Traceback (most recent call last):
File "C:/............./FX_Base/trading/trading.py", line 57, in <module>
    disable_existing_loggers=False)
  File "C:\.............Python\Python35\lib\logging\config.py", line 76, in fileConfig
    formatters = _create_formatters(cp)
  File "C:\.....\Python\Python35\lib\logging\config.py", line 109, in _create_formatters
    flist = cp["formatters"]["keys"]
  File "C:\.......\Python\Python35\lib\configparser.py", line 956, in __getitem__
    raise KeyError(key)
KeyError: 'formatters' 

我不明白这个问题是什么。我已经搜索过网站,似乎问题可能在于查找目录,但我非常具体。

1 个答案:

答案 0 :(得分:0)

如果您从C:/....../FX_Base/trading运行脚本,则可以使用相对路径:

logging.config.fileConfig('logging.conf', disable_existing_loggers=False)

或者,如果您要从C:/....../FX_Base运行脚本:

logging.config.fileConfig('trading/logging.conf', disable_existing_loggers=False)

等等。如果这不能解决您的问题,您可以找到脚本的位置并添加到该路径。

import os

file_dir = os.path.split(os.path.realpath(__file__))[0]
logging.config.fileConfig(os.path.join(file_dir, 'logging.conf'),
                          disable_existing_loggers=False)