見出し画像

足跡が大事です

あなたが見知らぬ土地で歩いた結果、道に迷ったとしましょう。
どうやって間違っていない道まで戻るのか、考えてみてください。

あなたが履いている靴、インクが内蔵されています。
そして、歩いた足跡が道路に書かれてあるのです。

手元に地図があれば、足跡と地図を見ながら正しい道順に戻れるでしょう。
これと同じことをプログラムで出来れば、プログラムが思い通りに動かない時に何が問題なのかわかります。

この数値、異常になっているとか、関数の呼び出しを忘れていたとか。
誰でも試行錯誤しながらソースコードを書くので、ロギングはとても重要です。

自分が作ったプログラムを運用していると、必ず想像もしていないエラーが発生します。
このエラーの原因を探るため、ロギングの機能はとても大事になります。


Pythonにはロギング用のライブラリーがあるので、これを利用します。

import logging


ロギングは精密に行いたいので、出力レベルを最大限に変更します。
また、ファイル名も同時に設定しておきます。

logging.basicConfig(filename='Python_log.log', level=logging.DEBUG)


あとは、ロギングを実際に出力します。

logging.debug('%s','Test Message')


文法としては、こんな感じですね。


では、実際にソースコードを書く時、どこにロギングを書くべきでしょうか。
私の経験から言えば、関数の入り口と出口、処理を分岐する場所、その他必要と思える場所です。

実際にプログラミングを運用すると、ログは多いほど解析が楽です。
予想もしないところでエラーが発生し、ログに記録されずに四苦八苦する経験を積むと理解できます。

簡単なソースコードを書いてみます。
実行すると、Python_log.logが作られて、記録されています。

import logging

def TestFunction(Option1st ,Option2nd):
#関数のオプションを記録する
logging.debug('%s %i','Option1st=',Option1st)
logging.debug('%s %i','Option2nd=',Option2nd)

#計算します
CalculationResult=Option1st+Option2nd

#計算結果を記録します
logging.debug('%s %i','CalculationResult=',CalculationResult)

return CalculationResult

def main():
#ロギングの設定
logging.basicConfig(filename='Python_log.log', level=logging.DEBUG)

#サンプル用の関数を呼び出し 、結果を取得
FunctionResult=TestFunction(12,34)

#関数の結果を表示する
print(FunctionResult)

return


#最後にmainを呼び出す
main()


#学習 #勉強 #Python #プログラミング

この記事が気に入ったらサポートをしてみませんか?