happiness (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) happiness

GASでロギングする方法~SpreadSheetを使うような検索しても出てこなかった方法編~

方法一覧

  1. console.log 2 Logger
  2. spread sheet上に残す

1,2はよくあるが、3はあまり見かけないので、ここに記しておきます。

方法

適当に以下のようなscriptを準備する ※下記コードは雰囲気なので、動かないかもです

class SpreadSheet {
  static log(data: any): void {
    const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('logs')
    sheet.appendRow([this.currentTime(), data])
  }
  
  static currentTime(): Date => {
    const date = new Date();
    const dateformat = 'yyyy/MM/dd hh:mm:ss'
    return Utilities.formatDate(date, 'Asia/Tokyo', dateformat)
  }
}

errorをcatchしてspreadSheetに記録しよう

const doPost () => {
  try {
  // do something
  } catch(error) {
    SpreadSheet.log(error)
  }
}

所感

若干hackyな気もするが、

Google Cloud Platform使えなかったり、slack APIのテストしたかったりするときには便利。

ちょうどよく見やすいのがないからしょうがないんだな。