[GAS]記録したログを取得するには: 逆引きGoogle Apps Script

2015 年 5 月 9 日 土曜日

▼サンプルスクリプト

スプレッドシートへの書き込み時間とスプレッドシートからのクリア時間の比較を行うサンプル。記録したログをメッセージボックスにポップアップ表示している。

function onOpen(){  
  var sheet = SpreadsheetApp.getActiveSheet();
  
  // 書き込み時間計測
  var startTime = new Date();
  for(var i=1;i<=100;i++){
    sheet.getRange('A'+i).setValue('test');
  }
  var endTime = new Date();                                
  var execTime = (endTime - startTime) / 1000;
  Logger.log('書き込み時間:'+execTime);
  
  // クリア時間計測
  startTime = new Date();
  for(var i=1;i<=100;i++){
    sheet.getRange('A'+i).clear();
  }
  var endTime = new Date();                                
  var execTime = (endTime - startTime) / 1000;
  Logger.log('クリア時間:'+execTime);  
  
  Browser.msgBox(Logger.getLog());
}

構文

Logger.getLog()

ログを出力する

注意点

ログは通信のたびにリセットされるので、一度の処理で複数回サーバと通信する場合は、毎回どこか別の場所にログを出力する必要がある。

method getLog()

This method does not work when executed from UiApp events nor when a script is published as a service

Logger.getLog()は、

  • UiAppイベント
  • スクリプトがサービスとして公開されている場合

動作しないと記載されているが、以下のコードをサービスとして公開し、誰でもアクセスできるように設定したところ、Logger.getLog()は正常に動作した。

function doGet(){  
  var app = UiApp.createApplication();
  Logger.log('test');
  // 画面に'test'というキャプションのラベルを表示させる
  app.add(app.createLabel(Logger.getLog()));
  return app;
}
スポンサードリンク

関連記事

コメントをどうぞ

トラックバック

このエントリーのトラックバックURL:

http://www.bmoo.net/archives/2012/03/313057.html/trackback