【GAS】スクリプトでログの記録

2021年2月5日

スクリプト実行時にスプレッドシートにログを記録します。スクリプト内のエラーや取得したデータなどを記録したいときに便利です。

スプレッドシートでログを記録する表を作成します。

今回は記録日時、スクリプトの名前、ステータス、コメントを記録するようにします。

ログを記録するスクリプトを作成します。

function recordLog(scriptName,status,txt) {
  const ss_log = SpreadsheetApp.openById("ログを記録するシートのファイルID");
  const sh_log = ss_log.getSheetByName("シート名");
 //最終行の取得
  let sh_log_lrow = sh_log.getRange(sh_log.getMaxRows(), 1).getNextDataCell(SpreadsheetApp.Direction.UP).getRow() + 1;
  //現在日時の取得
  let date = new Date();

  sh_log.getRange(sh_log_lrow,1).setValue(date);        //データ日時の記録
  sh_log.getRange(sh_log_lrow,2).setValue(scriptName);  //スクリプト名の記録
  sh_log.getRange(sh_log_lrow,3).setValue(status);      //ステータスの記録
  sh_log.getRange(sh_log_lrow,4).setValue(txt);         //コメントの記録

}

あとは、ログを取りたいスクリプト内で呼び出せば完成

function TEST(){
  for (i = 0 ;i < 10 ;i++){
    str = i % 2 === 0 ? i + " は偶数です" :i + " は奇数です" ;  
    recordLog("TEST","success",str);
  }
}

GAS

Posted by Next-k