ログモジュールを理解すると、毎回gremlinsが入り、動作する方法を変更します。 (大丈夫、私はグレムリンが私のコードを変更するかもしれないと認めます)。子ロガーの設定
私はここで間違っていますか?あなたが変更した場合
> ipython
> import logging
> log = logging.Logger("base")
> log.addHandler(logging.StreamHandler())
> log.critical("Hi")
Hi
> log2 = log.getChild("ment")
> log2.critical("hi")
No handlers could be found for logger "base.ment"
私は過去に、私は、追加設定なしで子ロガーを使用することができたことを誓っている可能性が
...
新しいセッションでそれを試してください。それはipythonを使用して私のために、またスクリプトとして動作します。 – unutbu
cPython 2.7.2でも私のために働いていません。私は 'StreamHandler'のデフォルト設定と関係があるのかどうか疑問に思っています...' log'を作成し、ハンドラを 'log'に追加して' log2'を作成すると、 'ハンドラはありません。最初に 'log2'を作成してから' log'にハンドラを追加すると、 'log2'へのロギングはエラーになりません(何も印刷されません)。 –
@unutbu:うーん、それは新しいセッションです。私はそれを示すために、上に 'ipython'コマンドラインを含めました。あなたが問題なくこれを実行できると、私に悪い気持ちが与えられます。私はPython 2.7.1とIPython 0.10を実行しています。そのような長い時間のために、それは問題ではないようです。私はそのコードが私のコードと関係していることを知っています。 –