0

パイソン初心者。今、私はしばらくこれに悩まされています。構成を使用してファイルにログを書き込もうとすると、ファイルiniに何もキャプチャされません。問題をデバッグしようとしましたが、手がかりが得られませんでした。ファイルを使用せずにログを書き込むことは、ini完全に正常に機能します。

以下はコードとiniファイルです

import logging

from logging.config import fileConfig

def info(message):


    fileConfig('logging_config.ini')
    logger=logging.getLogger("simple logger")

    logger.warning('Something is not right')
    logger.warning(message)

logging_config.ini

[loggers]
keys=root

[handlers]
keys=file_handler

[logger_root]
level=WARNING
handlers=file_handler

[formatters]
keys=formatter

[formatter_formatter]
format='%(message)s'

[handler_file_handler]
class=FileHandler
level=WARNING
formatter=formatter
args=('dummyoutput.log','w')

ロガー オブジェクトもチェックして、そのプロパティから何か手掛かりが得られるかどうかを確認しました。以下はオブジェクトです

{'disabled': 0,
 'filters': [],
 'handlers': [<logging.FileHandler object at 0x7ff03358ce90>],
 'level': 30,
 'name': 'root',
 'parent': None,
 'propagate': 1}

役立つかどうかはわかりませんが、プロパティdisabledが以前に表示されていたことに気付きましたTRUEが、今では0毎回表示されています。

誰もこれについて手がかりを得ましたか?

更新:この問題は、同じ構成ファイルに対して logging.config.fileConfig() を複数回呼び出すことが原因でした。しかし、その関数が最後に呼び出されたときに何も書き込まれなかった理由がよくわかりませんでした。それについて何か考えはありますか??

4

2 に答える 2