技術のメモ帳

気が向いたときに書いてます

[GAS]doPostでログを出力する方法

今回はTIPSです。Google Apps Scriptの公開アプリケーションで、doPost()を実装するとき、Logger.log()メソッドが使えないので、ログが確認しにくい難点があります。他の方はどうやっているのか分かりませぬが、苦肉の策として、SpreadSheetを開いて書き込むという処理でログを確認しています。

具体的には以下の通りです。

function doPost(e) {
  logging(JSON.stringify(e));
}

function logging(str) {
  var sheet = SpreadsheetApp.openById('***YOUR_ID***').getActiveSheet(),
      ts    = new Date().toLocaleString('japanese', {timeZone: 'Asia/Osaka'});
  sheet.appendRow([ts, str]);
}

Spreadsheetとgsが関連付けされている場合は、openById()メソッドよりも、getActiveSpreadsheet()メソッドを使った方が不要な引数がなくスッキリしますが、個人的には、ログ出力用のファイルを1つ作成して、そこに書き込むようにしています。

もっと他の良い方法があったら、どなたか教えて下さい(きっとあるはず…)