BlueOnyx 5210R/5211R/5212R デバッグ

BlueOnyx 5210R、5211R、5212R では、GUI 内の問題やエラーを追跡するための仕組みが以前より改善されています。このガイドでは、その新しい仕組みの使い方を説明します。

CI4 Env を使った CodeIgniter 4 のデバッグ:

BlueOnyx 5210R、5211R、5212R 上で、/usr/sausalito/ui/chorizo/ci4/.env をエディタで開いてください('root' 権限)。

通常、冒頭は次のようになっています。

#--------------------------------------------------------------------</code><br /><code># ENVIRONMENT</code><br /><code>#--------------------------------------------------------------------</code><br /><br /><code>#CI_ENVIRONMENT = development</code><br /><code>CI_ENVIRONMENT = production</code><br /><code>#--------------------------------------------------------------------

これを次のように変更します。

#--------------------------------------------------------------------</code><br /><code># ENVIRONMENT</code><br /><code>#--------------------------------------------------------------------</code><br /><br /><code>CI_ENVIRONMENT = development</code><br /><code>#CI_ENVIRONMENT = production</code><br /><code>#--------------------------------------------------------------------

これで BlueOnyx GUI は 'production' モードから 'development' モードに切り替わります。以後 GUI を使うと、最初に分かる変化として、右下に折りたたみ式の CodeIgniter アイコンが表示されます。これをクリックすると GUI の実行時情報を表示できます。以下はその例です。

右下の CodeIgniter デバッグツールバーアイコン。クリックで展開します:

CodeIgniter デバッグツールバー展開状態:

CodeIgniter デバッグツールバーをさらに展開した状態:

GUI ページでエラーが発生した場合の CodeIgniter エラー表示:

見てのとおり、以後のエラーでは、対象モジュール、コード行、エラーメッセージ、該当コード、変数状態などを含む非常に詳細な GUI 画面が表示されます。これは非常に便利です。

ただし注意点があります。'development' モードでは、3〜4 個ほど正しく表示されない GUI ページがあります。たとえば統合 Webalizer 統計画面では、デバッグツールバーのコードが表示へ割り込んでしまい、見た目が崩れます。それでも大半の画面は development モードでも問題なく動作します。

とはいえ、本番運用中に 'development' モードを常用しないでください。利用者に見せたくない環境変数などが露出する可能性があります。

/var/log/gui-debug.log と /etc/DEBUG

新しいログファイル /var/log/gui-debug.log には GUI へのアクセスが記録されます。どのログインユーザーがどこへ入ったかは分かります。あれば便利ですが、デバッグ用としてはそれほど本質的ではありません。

次に「touch /etc/DEBUG」を実行してください(空の /etc/DEBUG ファイルを作成します)。その上で GUI を操作しながら「tail -f /var/log/gui-debug.log」を実行します。

これ以上ないほど詳細な情報が得られます。各 GUI ページがどの CCEd トランザクションを実行したのか、送られたデータを含めて追跡できます。

作業が終わったら、必ず「rm /etc/DEBUG」を実行してください。そうしないとログファイルが急速に肥大化し、ディスク容量を消費します。もっとも daily logrotate はこのログもローテートします。