2017-09-02 5 views
0

logging設定ファイルの読み込みに問題があります。これは初めてloggingを使用しており、私はそれをanother projectから外しています。ここで私が持っているものです。KeyError:ロギングモジュールの 'フォーマッタ'

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' 

私は問題が何であるかを理解していません。私はサイトを検索しましたが、問題がディレクトリを見つけることにあると思われますが、それはかなり具体的です。

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

それとも、C:/....../FX_Baseからスクリプトを実行した場合::ように

logging.config.fileConfig('trading/logging.conf', disable_existing_loggers=False) 
そして、あなたは C:/....../FX_Base/tradingからスクリプトを実行している場合

+0

'C:/....../'はディレクトリとして存在しますか? –

+0

はい、プログラムを実行しているのとまったく同じディレクトリです。 (私はtrading/trading.pyで実行しており、設定をtrading/logging.confに入れようとしています) – Hoodtingz

+0

私はPythonでそれほど素晴らしいとは言えません。ソリューションごとに自分の仕事をチェックする方法を説明できますかそのリンクに? – Hoodtingz

答えて

0

、あなたは相対パスを使用することができます。それでも問題が解決しない場合は、スクリプトの場所を見つけてそのパスに追加することができます。

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) 
+0

はい私もこれを試しました。確かに効率的ですが、KeyErrorは – Hoodtingz

+0

のままです@Hoodtingz:あなたの質問にトレースバックを追加できますか? –

+0

私はそれを上に追加しました – Hoodtingz