1

Web2pyマニュアルの詳細に従い、ロガーを次のように設定しました。

最初に、構成ファイルの名前を「logging.example.conf」からWeb2pyルートディレクトリの「logging.conf」に変更し、「myapp」をロガーのリストに追加しました。

[loggers]
keys=root,rocket,markdown,web2py,rewrite,app,welcome,myapp

別の「logger_myapp」セクションも追加します

[logger_myapp]
level=DEBUG
qualname=web2py.app.myapp
handlers=consoleHandler
propagate=0 

そして、myappのモデルファイルに次のように書きました。

import logging
logger = logging.getLogger("web2py.app.myapp')
logger.setLevel(logging.DEBUG)

同じモデルファイルのどこかで、次のようにしてログをテストしようとしました。

logger.debug("Check: %s" % details)

ここで、detailsは文字列を保持する単なる変数です

ただし、コマンドラインからWeb2pyをpython web2py.py実行した場合、つまり、モデルファイルを実行した場合、コンソールから何も出力されません。

ここで何が恋しかったですか?

4

1 に答える 1

3

おそらく、handler_consoleHandlerのレベルをDEBUGに設定する必要があります。ロガーとハンドラーの両方にレベルが関連付けられており、どちらも出力をフィルター処理できます。

[handler_consoleHandler]
class=StreamHandler
level=DEBUG <<<<<<<<<<<<<<<<
formatter=simpleFormatter
args=(sys.stdout,)
于 2012-04-18T00:04:33.077 に答える