Ad
1: 2016-12-14 (水) 05:36:06 njf ソース バックアップ No.1 を復元して編集 2: 2016-12-14 (水) 06:15:56 njf ソース バックアップ No.2 を復元して編集
Line 7: Line 7:
*使い方 [#y6ff9a66] *使い方 [#y6ff9a66]
 +**基本的な出力 [#r7dfa599]
loggingでの簡単な例は以下の通りです。 loggingでの簡単な例は以下の通りです。
Line 22: Line 23:
ログのレベルには以下の物があります。 ログのレベルには以下の物があります。
 +|レベル|対応メソッド|使いどころ|
 +|DEBUG|debug|デバック用の情報など|
 +|INFO|info|予定通りのことが起こった場合など|
 +|WARNING|warning|問題が起こりそうな場合の警告|
 +|ERROR|error|一部の機能が実行できないようなエラー|
 +|CRITICAL|critical|プログラム自体が実行できない重大なエラー|
 +例えばログのレベルをINFOにしていると、DEBUGレベルであるdebugメソッドのログは出力されず、残りのinfo、worning,error、criticalが出力されます。
 +これ以外に例外発生時のみに使う「exception」やレベルを指定して実行するlogメソッドもあります。
-&font(Lime){記事制作中};+ logging.log(logging.DEBUG,"デバッグ") 
 + 
 +これらのメソッドの引数はマルチバイト文字があってもStr型でもUnicode型でも出力できます。 
 + 
 +また 
 + ;logging.info('info %s',"test") 
 +のように「%」書式を使うこともできます。 
 + 
 +**日付と時間の出力 [#pba4f949] 
 + 
 +loggingの出力はデフォルトでは 
 + 
 + INFO:root:info test 
 + 
 +のようになっています。 
 +つまり「ログレベル:階層:メッセージ」です。 
 +階層はloggerの階層だそうですが、あまり使いそうにないので気にしなくても良いと思います。 
 + 
 +実際に使う時には日付と時間がないと、実用にはならないでしょう。 
 +「日付:メッセージ」とするには「logging.basicConfig」にformatを指定します。 
 + 
 + logging.basicConfig(filename='test.log',format = "%(asctime)s:%(message)s",level=logging.DEBUG) 
 + 
 +ここで「%(asctime)s」が日付と時間で、「%(message)s」がメッセージです。 
 + 
 +**ソースコードの行数を表示する [#u2b92169] 
 + 
 +ログの出力で他によくほしくなるものとしてソースコードの行数があります。 
 +「logging」にその機能はありませんが、「inspect」を使えば簡単に表示できます。 
 + 
 + import logging 
 + import inspect 
 + 
 + logging.info('line:%d',inspect.currentframe().f_lineno) 
 + 
 +他に関数名やファイル名などもとれます。 
 + logging.info('function:%s',inspect.currentframe().f_code.co_name) 
 + logging.info('filename:%s',inspect.currentframe().f_code.co_filename)


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 2199, today: 5, yesterday: 3
MenuBar
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失

Portuguese | English | German | Greek | Japanese | Korean | Russian | T-Chinese top
NJF