Google Apps Script:
デバッグ出力の印刷
方法:
Google Apps Scriptは基本的なデバッグのためにLogger
クラスを提供し、より高度なニーズに対しては、V8ランタイムで導入されたconsole
クラスを提供します。
Loggerの使用:
Loggerクラスを利用すると、実行後にApps Scriptエディタの表示 > ログ
の下で確認できるデバッグメッセージをログに記録できます。以下は簡単な例です:
function logSample() {
var name = "Wired Reader";
Logger.log("Hello, %s!", name);
}
logSample()
を実行した後、ログビューアで「Hello, Wired Reader!」というログを確認できます。
V8ランタイムを使用したconsole.log:
V8ランタイムを使用すると、他の言語から来た開発者にとってより馴染みのある構文をconsole.log
が提供します:
function consoleSample() {
var status = 'active';
var count = 150;
console.log(`Current status: ${status}, Count: ${count}`);
}
実行後、表示 > Stackdriver ログ
にアクセスして出力を閲覧します。これは文字列補間やオブジェクト検査をサポートしており、Google Cloudのログと統合されており、永続的なログと高度なフィルタリング機能を提供しているため、より強力です。
console.logからの出力サンプル:
現在のステータス: active, 数: 150
深掘り
当初、Logger.log
はGoogle Apps Scriptでのデバッグのための主要なツールであり、出力を検査するためのシンプルで直接的な方法を提供していました。しかし、スクリプトがより複雑になりGoogle Cloud Platformサービスと統合されるにつれて、より堅牢なロギングソリューションが必要になることが明らかになりました。
V8ランタイムの導入により、console.log
が登場しました。これはGoogle Apps Scriptを標準的なJavaScript構文に沿わせるだけでなく、JavaScriptに精通した開発者に言語をよりアクセスしやすくしますが、Google Cloudの強力なロギング機能のインフラストラクチャを活用しています。console.log
とそのGoogle Cloud Platformとの統合の導入は、Google Apps Script内のデバッグ能力の重要な進化を示しており、開発者にスクリプトの監視とトラブルシューティングに対してよりダイナミックでスケーラブルなアプローチを提供しています。
Logger.log
は基本的なデバッグニーズと小規模プロジェクトには十分ですが、V8ランタイムを用いたconsole.log
はより包括的で将来性のある解決策を提供します。これには、実行セッションを超えてログを保持する能力、Google Cloudコンソール内でのログの検索とフィルタリング、そして現代的なJavaScript開発慣行との全体的な整合性が含まれます。ただし、開発者はこれらのオプションを選択する際に、プロジェクトの複雑さと規模に対して自身のニーズを評価するべきです。