ログメッセージ
$A.log(string[, error]) メソッドを使用して、ログメッセージを JavaScript コンソールに書き出します。
最初のパラメータは、ログに記録する文字列です。
2 つ目のパラメータ (省略可能) は、エラーオブジェクトであり、より詳細な情報を含めることができます。
たとえば、$A.log("This is a log message") は、JavaScript コンソールに次のように出力します。
1This is a log messageクライアント側コントローラの openNote というアクションに $A.log("The name of the action is: " + this.getDef().getName()) を追加すると、JavaScript コンソールには次のように出力されます。
1The name of the action is: openNoteJavaScript コンソールの使用手順については、Web ブラウザの説明を参照してください。
本番モードでのログ
PROD または PRODDEBUG モードでメッセージをログに記録するには、カスタムログ関数を作成します。特定の重大度レベルのログメッセージに登録するには、$A.logger.subscribe(String level, function callback) を使用する必要があります。
最初のパラメータは、登録される重大度レベルです。有効な値は、次のとおりです。
- ASSERT
- ERROR
- INFO
- WARNING
2 つ目のパラメータは、登録された重大度レベルのメッセージがログに記録されるとコールされるコールバック関数です。
$A.log() は、重大度レベル INFO のメッセージをログに記録します。$A.logger.subscribe("INFO", logCustom) を追加すると、定義したカスタム logCustom() 関数を使用して $A.log() がログを記録します。
クライアント側コントローラのサンプル JavaScript コードを見てみましょう。
1({
2 sampleControllerAction: function(cmp) {
3 // subscribe to severity levels
4 $A.logger.subscribe("INFO", logCustom);
5 // Following subscriptions not exercised here but shown for completeness
6 //$A.logger.subscribe("WARNING", logCustom);
7 //$A.logger.subscribe("ASSERT", logCustom);
8 //$A.logger.subscribe("ERROR", logCustom);
9
10 $A.log("log one arg");
11 $A.log("log two args", {message: "drat and double drat"});
12
13 function logCustom(level, message, error) {
14 console.log(getTimestamp(), "logCustom: ", arguments);
15 }
16
17 function getTimestamp() {
18 return new Date().toJSON();
19 }
20 }
21
22})$A.logger.subscribe("INFO", logCustom) は、重大度レベル INFO でメッセージがログに記録されると logCustom() 関数をコールするように登録します。この場合、logCustom() はメッセージをタイムスタンプと一緒にコンソールにログを記録するだけです。
$A.log() コールでは、登録と一致する重大度レベル INFO のログメッセージがログに記録され、logCustom() コールバックが呼び出されます。