Google Apps Scriptにて、Loggerに出力したログをまとめて文字列として取得することは出来ますか?

Google Apps Script(GAS)において、Logger.log() によって出力されたログを「まとめて文字列として取得する」ことはできません

理由:


代替案

ログをスクリプト内で再利用したい場合は、以下のような自前のログ機構を使う方法が現実的です。

例:配列にログを貯めてあとでまとめて出力

const myLogger = [];

function myLog(message) {
  const timestamp = new Date().toISOString();
  const entry = `[${timestamp}] ${message}`;
  myLogger.push(entry);
}

function exampleFunction() {
  myLog("処理を開始します");
  myLog("データを取得します");

  // 何か処理
  Utilities.sleep(500);

  myLog("処理が完了しました");

  // まとめて表示
  const allLogs = myLogger.join('\\\\n');
  Logger.log(allLogs);
}

この方法であれば、myLogger に貯めたログを後からまとめて出力・メール送信・保存などに利用できます。


応用例:ログをメールで送信

MailApp.sendEmail({
  to: "[email protected]",
  subject: "ログレポート",
  body: myLogger.join('\\\\n')
});


必要であれば、Spreadsheet や Google Drive に保存する実装も可能ですので、お気軽にご相談ください。