2016-05-22 5 views
1

私は私のpythonアプリケーションをdockerで使用しようとしています。実際にはPythonのloggingライブラリを使用しているautologgingというパッケージを使用しています。dockerのpython loggerが動作していません

私はドッカーコンテナの中で私のアプリを使うと、sysプリントをプリントアウトしますが、ロガーによって生成されたものはプリントアウトしません。

私はcompose.ymlファイルに次のように定義しようとしている、それはまだ働いていない:

stdin_open: True 
tty: True 
privileged: True 
cap_add: 
- "ALL" 
environment: 
- PYTHONUNBUFFERED=0 

私も-uオプションを試してみました。

+1

あなたがドッキングウィンドウの外で同じアプリをテストしたことがありますか? –

+0

はい、問題ありません –

+0

ファイルを指すようにロガーを設定すると、ログはそこに表示されますか? –

答えて

0

autologgingモジュールは、Pythonの標準ロギングモジュールを使用します。そのため、同じ構成設定によって管理されます。単にログ出力が表示されない場合は、アプリケーションに適切なロギングを設定していることを確認してください。 (私自身はDockerに慣れていないので、単にルートログがデフォルトでログエントリを抑制している場合もあります)。

アプリケーションのログを明示的に設定していない場合は、Pythonのドキュメントを参照してくださいhereがアプリケーション用のログを明示的に設定している場合は、詳細を提供してください(これを追跡する未解決の問題がhttps://github.com/mzipay/Autologging/issues/1にあります)。

(注:私はオートログインの著者だ。)

+0

私はこの問題が、アプリケーションのロギング設定が欠落していると考えています。次に、デフォルトのDockerログドライバを使用してautologging.loggedとautologging.tracedのログエントリを表示するDockerサンプルのサンプルを示します。https://hub.docker.com/r/mzipay/autologging-issue-1/ – NinthTest

関連する問題