第2回では、Apps Scriptエディタの基本画面、保存、実行、実行ログの見方を確認しました。GASを学び始めたばかりの頃は、コードを書くことだけでなく、動かした結果をどこで確認するかに慣れることが大切です。
第3回では、Logger.log を使って、処理の途中経過を実行ログに表示する方法を整理します。コードがどこまで動いたのか、変数の中にどんな値が入っているのかを見えるようにすると、GASの学習がかなり進めやすくなります。
第3回のゴール
今回のゴールは、Logger.logを使って、GASの処理の途中経過を自分で確認できるようになることです。
- Logger.log の基本的な使い方がわかる
- 処理の開始・途中・完了をログで確認できる
- 変数の中身をログに出して確認できる
- 動かないときに、どこで止まっているかを探しやすくなる
Logger.logとは
Logger.logは、GASの実行ログにメッセージを出すための命令です。画面に何かを表示するためではなく、開発中に処理の流れを確認するためのメモとして使います。
Googleの公式ドキュメントでも、Loggerクラスは実行ログやGoogle Cloud Loggingへログを書き込むための機能として説明されています。初心者のうちは、まず「コードの動きを確認するためのメモを出すもの」と考えると十分です。
今回使うサンプルコード
今回は、スプレッドシートのA1セルに文字を書き込みながら、その途中経過をLogger.logで確認します。
function logPractice() {
Logger.log("処理を開始しました");
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
Logger.log("シートを取得しました");
const message = "ログの練習です";
Logger.log("messageの中身: " + message);
sheet.getRange("A1").setValue(message);
Logger.log("A1セルに書き込みました");
Logger.log("処理が完了しました");
}
このコードを実行すると、A1セルに「ログの練習です」と書き込まれます。同時に、Apps Scriptエディタの実行ログには、処理の開始から完了までのメッセージが順番に表示されます。
実行手順
- Googleスプレッドシートを開きます。
- メニューから「拡張機能」→「Apps Script」を開きます。
- エディタにサンプルコードを貼り付けます。
- 保存します。
- 関数名で logPractice を選びます。
- 実行ボタンを押します。
- スプレッドシートのA1セルと、Apps Scriptエディタの実行ログを確認します。
初回実行時は、権限確認の画面が出ることがあります。練習用のスプレッドシートであることを確認してから進めましょう。

ログを見ると何がわかるか
Logger.logを入れておくと、コードが上から順番にどこまで進んだかを確認できます。たとえば、実行ログに「シートを取得しました」までは出ているのに、「A1セルに書き込みました」が出ていない場合、その間の処理で止まっている可能性があります。
コードが短い間はログがなくても読めますが、少し長くなると「どこまで動いたか」が見えにくくなります。そんなときにLogger.logを入れると、原因を探す範囲を小さくできます。

Logger.logを入れる場所
最初は、むずかしく考えずに次のような場所へ入れてみましょう。
| 入れる場所 | 確認できること |
|---|---|
| 処理の最初 | 関数が実行されているか |
| シートを取得した直後 | SpreadsheetAppの処理まで進んだか |
| 変数を作った直後 | 変数に期待した値が入っているか |
| セルへ書き込んだ直後 | setValueの処理まで進んだか |
| 処理の最後 | 最後までエラーなく動いたか |
大切なのは、ログをたくさん入れることではありません。確認したい場所に、必要な分だけ入れることです。
変数の中身を確認する
Logger.logは、固定のメッセージだけでなく、変数の中身を確認するときにも使えます。
const message = "ログの練習です";
Logger.log(message);
ただし、ログに値だけを出すと、後から見たときに何の値かわかりにくいことがあります。そのため、次のように説明文をつけると確認しやすくなります。
Logger.log("messageの中身: " + message);
実行ログを見たときに「どの変数の値なのか」がすぐ分かるようにしておくと、後から見返したときにも迷いにくくなります。
Logger.logとconsole.logの違い
第2回では、ログ確認の例として console.log を使いました。GASでは、Logger.logもconsole.logも、処理の確認に使われます。
初心者のうちは、どちらを使っても「処理の途中経過を見えるようにする」という目的は同じです。まずは今回のようにLogger.logでログを出し、慣れてきたらconsole.logやconsole.timeなども必要に応じて使い分けるとよいでしょう。
初心者がよくつまずくポイント
- コードを保存せずに実行して、古い内容のまま動いている
- 関数名で logPractice を選んでいない
- ログがスプレッドシート側に出ると思ってしまう
- 実行ログを閉じたまま、ログが出ていないと勘違いする
- エラー文を読まずに、コード全体を消してやり直してしまう
ログは、完成したアプリを利用者に見せるものではありません。自分がコードを作っている途中で、処理を確認するための道具です。この位置づけを押さえておくと、使いどころがわかりやすくなります。
小さな練習
今回の内容を確認するために、次の練習をしてみましょう。
- 「ログの練習です」を別の文章に変える
- A1ではなくB2セルに書き込む
- Logger.logの文章を1つ追加する
- message以外の変数を作り、その中身をログに出す
- わざと関数名を選び間違えて、何が起きるか確認する
正しく動かすことだけが目的ではありません。少し変えて、保存して、実行して、ログを見る。この流れをくり返すことで、コードの動きが見えやすくなります。
関連記事・参考リンク
- GAS入門講座 第1回|Google Apps Scriptで自動化の第一歩を体験しよう
- GAS入門講座 第2回|Apps Scriptエディタの基本画面と実行ログの見方
- Google公式:Class Logger
- Google公式:Logging
- Google公式:Class console
まとめ
今回は、GAS入門講座の第3回として、Logger.logで処理の途中経過を確認する方法を紹介しました。
GASを学ぶときは、コードを一気に完成させようとするより、小さく動かして、ログで確認するほうが確実です。処理の開始、途中、完了にログを入れるだけでも、コードの流れがかなり見えやすくなります。
次回は、コメントを書いてコードを読みやすくする方法を扱います。
