GoogleAppsScriptのログを別ファイルか別のスプレッドシートに書き出す方法

以下に、GoogleAppsScriptのログを別のファイルに書き出すサンプルプログラムを提供します。その後、同じログをGoogleスプレッドシートに書き込むプログラムについても説明します。

サンプルプログラム: ログを別のファイルに書き出す
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
// Loggerクラスの定義
class Logger {
  constructor(fileName) {
    // ログファイル名を設定
    this.fileName = fileName;
  }

  // ログをファイルに書き込むメソッド
  log(message) {
    // 現在の日時を取得
    const timestamp = new Date().toISOString();
    // ログの内容を整形
    const logEntry = `${timestamp}: ${message}\\n`;

    try {
      // ログをファイルに書き込む
      const file = DriveApp.getFilesByName(this.fileName).next();
      const logContent = file.getBlob().getDataAsString() + logEntry;
      file.setContent(logContent);
    } catch (error) {
      // エラーが発生した場合はコンソールに出力
      console.error("Error writing to log file:", error.message);
    }
  }
}

// Loggerクラスのインスタンスを作成
const logger = new Logger("log.txt");

// ログにメッセージを追加
logger.log("This is a test message.");
logger.log("Another test message.");

このプログラムでは、Loggerクラスを使用してログを別のファイルに書き出します。ログファイル名は"log.txt"として指定されています。

Googleスプレッドシートにログを書き込むプログラム

Google Apps Scriptを使用して、ログをGoogleスプレッドシートに書き込むプログラムを作成することも可能です。以下に、その方法を示します。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
// Loggerクラスの定義
class Logger {
  constructor(spreadsheetId, sheetName) {
    // スプレッドシートIDとシート名を設定
    this.spreadsheetId = spreadsheetId;
    this.sheetName = sheetName;
  }

  // ログをGoogleスプレッドシートに書き込むメソッド
  log(message) {
    // 現在の日時を取得
    const timestamp = new Date().toISOString();
    // ログの内容を整形
    const logEntry = [timestamp, message];

    try {
      // スプレッドシートにログを書き込む
      const sheet = SpreadsheetApp.openById(this.spreadsheetId).getSheetByName(this.sheetName);
      sheet.appendRow(logEntry);
    } catch (error) {
      // エラーが発生した場合はコンソールに出力
      console.error("Error writing to spreadsheet:", error.message);
    }
  }
}

// Loggerクラスのインスタンスを作成
const logger = new Logger("YOUR_SPREADSHEET_ID", "Sheet1");

// ログにメッセージを追加
logger.log("This is a test message.");
logger.log("Another test message.");

このプログラムでは、Loggerクラスを使用してログをGoogleスプレッドシートに書き込みます。spreadsheetIdsheetNameには、ログを書き込むGoogleスプレッドシートのIDとシート名を指定します。ログは、スプレッドシートの最後の行に追加されます。

以上で、ログを別のファイルに書き出す方法とGoogleスプレッドシートにログを書き込む方法のサンプルプログラムを提供しました。


GoogleAppsScriptをAIのチカラを使ってブーストさせるための情報が体系的にまとまっていました。GASのレベルをあげたい人は、下記のKindle書籍をチェックしてみてください。AI時代の効率的なプログラミング方法が学べます。Kindle Unlimitedに入っている人は無料で読めますよ。

https://www.amazon.co.jp/dp/B0FPFSVSJP


メンバーのSNSアカウントはこちら

◆かいと:IT担当
X(旧Twitter)
Instagram