3

pdb.set_trace()Odoo の開発中に Python 関数のブレークポイントとして 使用していますが、ログ メッセージが引き続き表示されます。

 pdb.set_trace()
    -> if s['confirm_state'] in ['draft','confirmed']:

(Pdb) 2015-04-05 05:40:12,794 9981 INFO vvm_odoo_new werkzeug: 127.0.0.1 - - [05/Apr/2015 05:40:12] "POST /longpolling/poll HTTP/1.1" 200 -
2015-04-05 05:40:47,769 9981 INFO vvm_odoo_new werkzeug: 127.0.0.1 - - [05/Apr/2015 05:40:47] "POST /longpolling/poll HTTP/1.1" 200 -

最初はインスタント メッセージ機能のせいだと思ったので、アンインストールしました。しかし、私はまだこのメッセージを受け取り続けています。

これは、pdb スタック トレースの使用を妨げるものではありませんが、ここでの問題は、pdb トレース ポイントでの入力の間にこのターミナル メッセージが表示され続けることです。

4

2 に答える 2

2

Odoo を起動するときにパラメーターにを追加でき--logfile=<logfile>ます。これにより、標準の Odoo ログ メッセージがそのファイルに送信され、デバッガーのログはきれいなままになります。

つまり、/usr/local/bin に以下を呼び出す bash スクリプトがあります。

python /path/to/odoo/odoo.py --addons-path=/path/to/addons,/path/to/custom/addons "$@"

最後に追加の$@パラメーターを受け入れるようにスクリプトに指示するため、次のように呼び出します。

odoo --logfile=~/odoospam.log

きれいにデバッグできます。次に、ログを確認したい場合はtail -f ~/odoospam.log.

docker コンテナー内で pdb を使用してデバッグする最善の方法を見つけようとしていますが、適切な方法が見つかったら更新します。

編集:ドッカーでこれを行う方法を見つけました( https://stackoverflow.com/users/941605/jameyへの称賛): Docker-composeとpdb docker-compose run --service-ports odoo

于 2016-03-21T17:21:05.863 に答える