1. ホーム

python encountered a problem: No handlers could be found for logger *.

2022-02-12 22:25:56

長い間loggingを使用してきましたが、新しいスクリプトを書くためにコピーしたところ、この問題にぶつかりました。ウェブで検索しても、答えが見つかりません。

問題は、try ブロックで logging へのハンドルを定義していたのに、それを undercept で使っていたことです。try で例外が投げられたときにハンドルが作成されていなければ、logging incept はハンドルを見つけることができません。

具体的なコードは次のようなものです。

logger = logging.getLogger()

init_logger(xxx):

# ここでは、コンソールというファイルへの入力のハンドルを定義しています。

xxxx

..................

if __name__ == '__main__':

を試してみてください。

    init_logger(xxx)


except Exception,ex:

    logger.error(xxxx)



回避策 init_logger関数をtryの前に置くだけです。