パイソン初心者。今、私はしばらくこれに悩まされています。構成を使用してファイルにログを書き込もうとすると、ファイル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() を複数回呼び出すことが原因でした。しかし、その関数が最後に呼び出されたときに何も書き込まれなかった理由がよくわかりませんでした。それについて何か考えはありますか??