2

Python hug REST アプリにログを追加したいと考えています。hugコマンドを介して(経由でhug -f app.py)アプリを提供するときにそれを行う方法が見つからなかったため、 hug と waitress組み合わせようとしました。

ファイル内の私の最小限のアプリ構造はapp.py次のようになります。

import logging
logger = logging.getLogger(__name__)
import hug
.
.
.
@hug.get()
def func(detail):
    logger.debug("debug func")
    .
    .
    .

そして、ウェイトレス スクリプトを使用してこれを提供しますrun.py

import logging
import waitress

import app

logger = logging.getLogger('waitress')
logger.setLevel(logging.DEBUG)
logger.debug("logger set to DEBUG")

waitress.serve(app.__hug_wsgi__)

コンソールで実行する python run.pyと、アプリが正常に起動し、結果がfunc返されますが、内部の func (「debug func」)および(「logger set to DEBUG」)からのデバッグ メッセージrun.pyはコンソールに表示されません。

何がうまくいかず、どうすれば修正できますか? (別の (Windows 対応の) WSGI サーバーを使用する方が簡単な場合は、喜んで使用します。)

4

1 に答える 1

1

loggingモジュールのロギングを構成する必要があります。(特にと) のドキュメントをlogging.config参照してください。最初に、それが機能するかどうかをテストするには、単に呼び出すことができますdictConfigfileConfig

logging.basicConfig()

ロギングをapp.py行う前に。これにより、すべてのチャネルの出力が になりますsys.stderr

そこにあるデバッグ メッセージを表示したい場合はlogging.setLevel(logging.DEBUG)、忘れずに実行してください。app.py

于 2016-10-17T08:19:04.947 に答える