2016-10-10 18 views
1

私は、デフォルトのロギングレベルを変更するようなモジュール(特にmayaのpymel.core)に問題があります。私がpymelをインポートすると、私が突然使用しているモジュール内のすべての異なるロガーがデバッグを開始し、見たくないものが出てきます。 pymelがロギングモジュールのデフォルトのロギングレベルを変更しているように見えますが、どこではわかりません。私はロギングのドキュメントを見てきましたが、これまでの設定に戻す方法がわからないので、個々のロガーでどのようにレベルを設定するかしかわかりません。Pythonでデフォルトのロギングレベルを設定する

どのように私はデフォルトのログレベルを切り替えることができますお勧めですか?

>>> import logging 
>>> logging.getLogger().getEffectiveLevel() 
30 
>>> import pymel.core 
>>> logging.getLogger().getEffectiveLevel() 
0 

私は何とか戻って30にそのデフォルト・レベルを設定できるようにしたいと思いますので、すべての私のロガーは、背中、彼らがロギングモジュールのデフォルトそこからレベルを継承したときに前にあったかにあります。ロギングモジュールの仕組みを誤解していたら、私は全く新しいことです。

+0

'logging.getLogger()。setLevel(logging.WARNING)'?とにかく、そのパッケージがロギング設定に間違ったことをしているようです。 – Bakuriu

+0

'log.getLogger()。level = logging.WARNING'でインポートpymelの後にロガーレベルをリセットすることができます。修正のために公開されている[プルリクエスト](https://github.com/LumaPictures/pymel/pull/377)があることに注意してください。マージするように頼んでみてください。 – MisterMiyagi

答えて

1

特にわかりませんが、pymelはロギングに関してうまく動作していないようです。試してみることもできます:

しかし、これによってすべての望ましくないメッセージが出力されないことはありません。あなたは実際にあなたが見つけるものに適応するために上記を微調整することができます。

0

site-packagesディレクトリのpymelサブフォルダに、Mayaのインストールにpymel.confというファイルがあります。これは、デフォルトロギングモジュール内の同じ設定ファイルシステムを使用して、pymelのさまざまな部分のログ設定を制御します。

関連する問題