デバッグ
前回のデバッグ用Class testLogをサンプルコードに組み込んでみた例です。開発時、運用時などの状況により、表示の有無、出力範囲の制御を次の二つの定義を組み合わせで制御できます。 //DEBUG処理の切り替え 本番運用時にはFALSEに変更すること define('DEB…
特にStep6のログファイルの出力のことを書きましたが、 毎回error_log...で、ログファイルの出力先等を記載するのは面倒臭い。 ログファイルに出力したいことと、画面に表示したいことは同じ場合も多い。 どのプログラムでもデバッグ用にやりたい作業はだい…
ここまでは、処理の進行状況や、変数の値などを表示する方法を紹介してきましたが、実際に本番サーバー上で、botの運用を開始してしまうと、毎回の処理状況を付きっきりで目視できる訳ではありません。 PHPのerror_log関数(マニュアル)を利用すると、ログ…
プログラムを実行するサーバーによっては、ある一定時間以上連続して動作して動くプログラムが強制切断されてしまうようです。その意味で自分が作成したプログラムが処理にどれくらいかかるのか知りたいことが多いと思いますので、ここでは、プログラムの開…
プログラムの処理が進んでいる中で、必要な値が正しく変数、配列にセットできているかどうかは大切なことです。これもデバッグ処理時は表示するなり何なりして確認したいものです。 Step4 変数、配列の中身を確認 恐らく、これは良く紹介されている関数だと…
Step1で、デバッグ用にかなり沢山のecho文を追加しましたが、本番時には無用の長物。しかしながらプログラムの変更を行ったりする場合には、やはり表示できた方が便利。ここでは、定数の値を変更することで、デバッグ用の処理を実行するかどうかを簡単に切り…
Step2 PHPのエラー表示レベルをerror_reporting($level)で変更 PHPでは、error_reporting($level) という関数を利用すると、引数である$levelに設定する値により、どのレベルのエラー、警告までを表示するかを制御することができます。 詳しくはPHPマニュア…
はじめに プログラムにデバッグ向けのコードを入れておくと、開発時はもちろん、運用開始後も、何か問題が発生した場合に、それが、コーディングの問題なのか、データの問題なのか、あるいはTwitter側の問題なのかを切り分ける作業と判断に必要な時間を大幅…