2017-12-12 17 views
0

私はFlaskプロジェクトを実行しています。私はすべてのログをデバッグレベルからコンソールに記録しようとしていました。ここに私のコードは次のとおりです。ここでログはどこにありますか?

#!flask/bin/python 
import logging 

from app import app 

logging.basicConfig(level=logging.DEBUG, format = '%(asctime)s [%(process)d %(name)s] %(levelname)s %(message)s') 
logging.debug('test') 
log = logging.getLogger('werkzeug') 
log.setLevel(logging.DEBUG) 
log.debug('test') 

if __name__ == '__main__': 
    print 'crazy' 
    log.debug('test') 
    app.run(host = '0.0.0.0', port = 8100, debug = True, processes = 8) 

は、結果は(奇妙なことの一つは、印刷された2つの「狂気」は存在している)である:

(flask) [[email protected] flask]$ ./run.py 
crazy 
crazy 

私は、コンソール上で何かを見つけることができません。コンソールには「テスト」も表示されません。だから私のログはどこですか? 私のPythonはCentOS 6.9でv2.7.13です。

アップデートにbasicConfigとログ:

(flask) [[email protected] flask]$ ipython 
Python 2.7.13 (default, Jun 22 2017, 13:33:06) 
Type "copyright", "credits" or "license" for more information. 

IPython 5.5.0 -- An enhanced Interactive Python. 
?   -> Introduction and overview of IPython's features. 
%quickref -> Quick reference. 
help  -> Python's own help system. 
object? -> Details about 'object', use 'object??' for extra details. 

In [1]: edit 
IPython will make a temporary file named: 
/tmp/ipython_edit_pUodOs/ipython_edit_WWATn8.py 
Editing... done. Executing edited code... 
Out[1]: "import logging\nlogging.basicConfig(level=logging.DEBUG, format = '%(asctime)s [%(process)d %(name)s] %(levelname)s %(message)s')\n" 

In [2]: logging.debug('test') 
2017-12-12 14:51:06,042 [14863 root] DEBUG test 
+0

何らかのハンドラを追加せずに何かが表示されるかどうか不安です。 –

+1

もしあなたがまだそれをしていないなら、https://docs.python.org/3/howto/logging.htmlを読んでみてください。 –

+0

(フラスコ)[felixc @ diamond flask] $ ipython Python 2.7.13デフォルト、Jun 22 2017、13:33:06) IPython 5.5.0 - 強化された対話型Python。 [1]:編集 IPythonは、次の名前の一時ファイルを作成します。/tmp/ipython_edit_pUodOs/ipython_edit_WWATn8.py 編集中...完了しました。編集されたコードを実行しています... Out [1]: "インポートログ\ nlogging.basicConfig(レベル= logging.DEBUG、フォーマット= '%(asctime)s [%(プロセス)d%(名前)s]%(レベル名) (2):logging.debug( 'test') ** 2017-12-12 14:51:06,042 [14863ルート] DEBUGテスト** – felixc

答えて

0

私はちょうどルートの理由を発見しました。私は自分のプロジェクトでAnsibleを使用しようとしていましたが、インポートによってはログが機能しないように見えます。私はAnsibleのソースコードを覗いていませんでしたが、テストコードを使って発見しました。

#!flask/bin/python 
import logging 

from collections import namedtuple 

from ansible.parsing.dataloader import DataLoader 
#from ansible.vars.manager import VariableManager 
#from ansible.inventory.manager import InventoryManager 
#from ansible.executor.playbook_executor import PlaybookExecutor 


logging.basicConfig(level=logging.DEBUG, format = '%(asctime)s [%(process)d %(name)s] %(levelname)s %(message)s') 
logging.debug('test') 
logging.info('test2') 
logging.error('test3') 

危険なモジュールからインポートするとログが消えます。理由を見つけようとします。私の可能性のあるバージョンは2.4.2.0です

関連する問題