GASログ確認でデバッグ
GAS初心者のログ確認
Google Apps Script(GAS)を使い始めたばかりの方は、スクリプトが期待通りに動作しているかを確認するためにログを確認することが重要です。GAS では Logger.log() を使うと、スクリプトエディタの「表示」→「ログ」から実行ログを確認できます。Logger.log() は文字列やオブジェクトをそのまま出力でき、デバッグ時に変数の状態を把握するのに便利です。
例として、次のようなコードを実行すると、ログに「Hello, GAS!」が表示されます。
function testLog() {
Logger.log('Hello, GAS!');
}
実行後は「表示」→「ログ」を開くと、以下のように出力が確認できます。
Logger.log と console.log の違い
GAS では console.log() も利用できますが、これは主に開発者ツールでのデバッグに使われます。console.log() は実行時にブラウザのコンソールに出力され、スクリプトエディタのログとは別の場所に表示されます。したがって、スクリプトを実行した後に「表示」→「ログ」を確認する場合は Logger.log() を使う方が確実です。
ただし、console.log() は Logger.log() よりも高速に出力できるため、短時間で大量のログを出力したい場合に有効です。例えば、ループ内で大量のデータを確認したいときは console.log() を使うと、実行ログの容量制限を超えにくくなります。
実行ログとデバッグの基本
実行ログはスクリプトの実行結果を確認するための基本ツールです。デバッグを行う際は、以下の手順でログを活用しましょう。
- 重要な変数や関数の戻り値を
Logger.log()で出力する。 - スクリプトを実行し、
表示→ログで結果を確認。 - 期待した値と実際の値を比較し、差異があればコードを修正。
また、GAS にはブレークポイント機能がないため、ログを多用することでステップ実行のように動作を追跡できます。
値の確認とエラー特定
変数の値を確認することで、エラーの原因を特定しやすくなります。例えば、次のように Logger.log() でオブジェクトを出力すると、プロパティの状態が一目で分かります。
function checkObject() {
var obj = {name: 'Alice', age: 30};
Logger.log(JSON.stringify(obj));
}
エラーが発生した場合は、スタックトレースを確認し、エラーが起きた行番号を特定します。GAS のエラーログは「表示」→「エラーログ」で確認でき、エラーの種類と発生箇所が表示されます。
エラー特定のポイントは、入力データの妥当性チェックとAPI呼び出しのレスポンス確認です。これらをログで確認することで、問題箇所を絞り込むことができます。
トラブルシューティングと出力の最適化
ログが大量に出力されると、実行ログの容量制限(1回の実行で最大 50,000 バイト)に達しやすくなります。トラブルシューティング時は、必要最低限の情報だけを出力するように心がけましょう。
- 不要な
Logger.log()はコメントアウトまたは削除。 - デバッグ用のログは
if (debug) { Logger.log(...); }のように条件付きで出力。 - 大量データは
JSON.stringify()で文字列化し、必要に応じて分割して出力。
さらに、GAS では PropertiesService を使って一時的にデータを保存し、後から確認する方法もあります。これにより、ログの容量を節約しつつ、デバッグ情報を保持できます。
コメント
コメントを投稿