4

私はpythonの平均的な経験がありますが、その上にeclipseとpydevをインストールしました。そして奇妙なことに、ロギングモジュールの動作は奇妙に見えます。

import datetime
import logging

print datetime.date.today()
print logging
logging.info("test")
print logging.info("test2")

--------
OUTPUT::
--------
2012-10-25
<module 'logging' from '/usr/lib/python2.7/logging/__init__.pyc'>
None

logging.info が機能しない理由の手がかりはありますか?

ところで、これが関連しているかどうかはわかりませんが、pydev インストールの直後に、インポート ロギング自体が機能していませんでした。次に、Pythonインタープリターの設定を確認しましたが、強制ビルトインリストにログモジュールがありませんでした(Windows->設定-> Pydev->インタープリター(python)->強制ビルトイン)。だから私はそれを手動で追加して、インポートログを機能させました。ご指摘ありがとうございます。

4

3 に答える 3

3

デフォルトのログレベルはWARNINGであり、logging.info()それよりも低いレベルでログが記録されるためです。ここの説明とドキュメントを参照してください。

あなたが望むことをするには、これを試すことができます:

logger = logging.getLogger('name_of_your_logger')
logger.setLevel(logging.INFO)
logger.info("Should get logged")
于 2012-10-24T21:07:03.010 に答える
0

setLevel最初のログ ステートメントの前にデフォルト レベルを変更できます。

logging.getLogger().setLevel(logging.DEBUG)
于 2012-10-24T21:11:11.097 に答える
0

標準出力に書き込みたい場合は、これを試してください。

import sys
import logging

logger = logging.getLogger()
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)
logger.addHandler(handler)
logger.setLevel(logging.DEBUG)
logger.info('teste')

出力:

テスト

于 2012-10-24T21:27:24.107 に答える