Google Apps Script(GAS)で、Logger.log()を記述してもログに表示されない場合の対処について解説しています。
■PC環境
Windows10から操作
■コード
・code.gs
function doGet() { return HtmlService.createHtmlOutputFromFile("page"); } function userClicked(){ Logger.log("ボタンがクリックされました"); }
・page.html
■実行するボタンをクリックしても、「ログ」で「このエディタ セッションで実行された関数はありません。」と表示される
上記の「code.gs」と「page.html」を「公開」から「ウェブアプリケーションとして導入…」をクリックし、「Deploy as web app」でデプロイを行います。
デプロイ後、URLにアクセスし、「実行する」ボタンをクリックする。
クリック後、「表示」から「ログ」をクリックする。
クリックすると、「ログ」のウインドウが表示され、「このエディタ セッションで実行された関数はありません。Apps Script ダッシュボードで、実行された他のスクリプトの Stackdriver ログを確認できます。」と表示されます。
■対処方法
「ログ」のウインドウ内に表示された「Apps Script ダッシュボード」をクリックする。
クリックすると、「Apps Script ダッシュボード」が表示されますので、Logger.log()を記述した関数をクリックすると、「Cloud logs」が表示され、Logger.log()の括弧内に記述した文章が表示されます。
■「Stackdriver Logging」からも「Apps Script ダッシュボード」へ移動できる
「表示」から「Stackdriver Logging」をクリックします。
クリックすると「ダッシュボードで表示」のウインドウが表示されます。「Apps Script ダッシュボードで、このプロジェクトの Stackdriver ログを確認できるようになりました。 Google Cloud Platform でこれらのログを確認したい場合は、この Script 用に別のプロジェクトを設定する必要があります。」と書かれていますので、「Apps Script ダッシュボード」をクリックすると、「Apps Script ダッシュボード」へ移動して、ログの確認ができます。
■console.log()を記述してもログに表示されない
なお、Logger.log()を「console.log()」に変更してもログに表示されませんので、今回紹介した対処方法を行えば、「Apps Script ダッシュボード」でログの確認ができます。
「Apps Script ダッシュボード」でログ(Cloud logs)の確認をしてみると、「デバッグ」「ボタンがクリックされました」と表示されています。「Logger.log()」と記述した場合は「情報」「ボタンがクリックされました」でした。
コメント