GASでログを簡単に表示する方法 〜 Logger.log()の使い方 〜

GASを使い始めたばかりで、コードのログをどうやって表示するのか悩んでいて…。
猫男
猫男
catman
catman
なるほど、GASのログ表示についてだな。catmanの出番さ。

GASでログを表示する基本

GASでは、ログを表示するために主にLogger.log()を使用するぞ。

コードの進行状況や変数の値を簡単に確認できるんだ。

Logger.log()の使い方

Logger.log()の使い方は非常にシンプルだ。例えば次のように記述しよう。

function simpleLog() {
  Logger.log("GASのログ出力!");
}

この例では、スクリプトを実行すると「GASのログ出力は簡単だ!」というメッセージがLogsに表示されるはずだ。

gas ログ 表示

 

簡単そうだね。でも、変数の値をログに出すにはどうしたらいいの?
猫男
猫男

変数の値をログに出力する方法

変数の値を出力する際も、Logger.log()を応用できるぞ。

function logVariableValue() {
  var myVariable = "Hello, GAS!";
  Logger.log("変数の値は: " + myVariable);
}

ここでは、「変数の値は: Hello, GAS!」と表示されるんだ。

gas ログ 表示

 

catman
catman
こんな感じで、変数の値をログに出力するのも簡単さ。

GASのログ表示で使える応用テクニック

GASでは基本的なLogger.log()に加えて、他にも役立つテクニックがある。

JSON.stringify()でオブジェクトをログに出す

オブジェクトを扱う際には、JSON.stringify()を使って中の情報を見やすくできるはずだ。

function logObject() {
  var obj = {name: "catman", role: "hero"};
  Logger.log(JSON.stringify(obj));
}

この方法で、オブジェクトの中身をきれいに整形してログに記録できる。

gas ログ 表示

 

もし、JSON.stringify()を使うのを怠るとどうなるだろう??

function logObject() {
  var obj = {name: "catman", role: "hero"};
  Logger.log(obj);
}

その場合、出力時にJSONデータのキーの順番が変わることがあるから要注意だ。

今回の例なら、

{role=hero, name=catman}

というようにroleがnameよりも先にきちまうってことがあるんだな。
gas ログ 表示

 

カスタムログ関数を作成する

独自のロギング関数を作ることで、ログ出力をさらに便利にできる。

function customLog(message, level) {
  Logger.log("[" + level.toUpperCase() + "]: " + message);
}

このように関数を作成すると、メッセージの重要度に応じてログを区別して記録できるようになる。

おぉ!!なんかすげえ!
猫男
猫男

たとえば、


customLog("データの読み込みが完了しました", "info");
customLog("API接続に失敗しました", "error");

のように使えば、

[INFO]: データの読み込みが完了しました
[ERROR]: API接続に失敗しました

といった感じで、ログの重要度(level)をつけて出力できるはずだ。

 

練習問題

GASのログ表示について学んだところで、練習問題にチャレンジしてみよう。

  1. 変数numに100を代入し、その値をLogger.log()を使ってログ出力するコードを作成せよ。
  2. オブジェクトperson = { name: “Taro”, age: 30 }の内容を含めたログ出力を実装せよ。ただし、見やすく整形すること。

 

 

解答・解説

function logNumber() {
  var num = 100;
  Logger.log("数値は: " + num);
}

function logPerson() {
  var person = { name: "Taro", age: 30 };
  Logger.log("人物情報: " + JSON.stringify(person));
}

まず、logNumber関数では変数numに100を代入し、Logger.log()を使ってその値を出力。

次に、logPerson関数では、オブジェクトの内容をJSON.stringify()を使って整形し、見やすくログ出力。

 

catman
catman
今日のスキルをしっかり身につけて、GASで効率的にログ管理をしていこう!
うん、ログを表示するテクニックがいろいろあるんだね。これから使ってみるよ!
猫男
猫男