Logコマンド
Alexa Presentation Language(APL)オーサリングツールのライブプレビューモードやその他のデバッグツールなど、デバッグコンテキストで使用するログメッセージを送信します。
オーサリングツールでドキュメントのプレビューとデバッグを行う方法については、Log Windowでドキュメントをデバッグするを参照してください。
プロパティ
Logコマンドには、共通のコマンドプロパティに加えて、以下の表に示すプロパティがあります。typeプロパティはLogに設定します。
コマンドを実行するために値が必要なプロパティの場合、以下の表の「デフォルト」列に「必須」と表示されています。それ以外の場合はデフォルト値が表示されますが、デフォルト値がないこともあります。
| プロパティ | 型 | デフォルト | 説明 |
|---|---|---|---|
|
|
列挙値 |
|
ログの重大度レベルを表します。 |
|
|
文字列 |
— |
ログメッセージです。 |
|
|
引数の配列 |
|
(任意)追加のコンテキスト情報を提供するためにログメッセージに含める情報です。 |
level
level列挙値は重大度を表します。Logコマンドでは、次の表に示すレベルがサポートされています。この表は、重大度の最も低いレベルから高いレベルの順に並んでいます。
| レベル | 説明 |
|---|---|
|
|
診断に使用される詳細情報です。 |
|
|
想定された動作を確認します。 |
|
|
予期しない状況が発生しましたが、回復可能です。 |
|
|
問題が発生し、回復できない可能性があります。 |
|
|
重大なエラーが発生しました。 |
ログ関数を使用すると、レベルの列挙値を重大度の数値に変換できます。levelプロパティには数値も指定できます。
{
"onPageChanged": {
"type": "Log",
"level": "${Level.INFO}",
"message": "ページが変更されました。",
"arguments": [
"${event.source.value + 1}"
]
}
}
message
messageプロパティには、実行時にデータバインディングが適用されます。コマンドのデータバインディングコンテキストの情報を使用してメッセージを作成できます。
arguments
argumentsプロパティは、任意のキーと値のペアを含むオプションのマップです。このプロパティには、コマンドの実行時にデータバインディングが適用されます。
Logコマンドの例
次の例は、Pagerのページ変更に応答して情報レベルのログを出力します。
{
"type": "APL",
"version": "2024.3",
"mainTemplate": {
"items": [
{
"type": "Pager",
"onPageChanged": [
{
"type": "Log",
"level": "info",
"message": "ページが変更されました。",
"arguments": [
"新しいページのインデックスは${event.source.page}です。"
]
}
]
}
]
}
}
オーサリングツールでログメッセージを確認する例については、Log Windowでドキュメントをデバッグするを参照してください。
本番コードでログ出力を無効にする
本番コードでログ出力を無効にすると、パフォーマンスに影響する可能性を抑えることができます。そのための1つのアプローチとして、Logコマンドをユーザー定義コマンド内にラップする方法があります。
次の例では、enableLoggingというバインド変数を、ログのオンとオフを切り替えるフラグとして使用します。enabledLoggin変数がtrueの場合、Logコマンドは、Pagerでページが変更されるたびにログメッセージを送信します。
{
"type": "APL",
"version": "2024.3",
"commands": {
"MyLog": {
"parameters": [
"level",
"message",
"arguments"
],
"command": {
"when": "${enableLogging && Log.levelValue(level) >= logVerbosity}",
"type": "Log",
"level": "${level}",
"message": "${message}",
"arguments": "${arguments}"
}
}
},
"mainTemplate": {
"bind": [
{
"name": "enableLogging",
"type": "boolean",
"value": false
},
{
"name": "logVerbosity",
"type": "number",
"value": "${Level.INFO}"
}
],
"items": [
{
"type": "Pager",
"onPageChanged": {
"type": "MyLog",
"level": "info",
"message": "ページが変更されました。",
"arguments": [
"${event.source.value + 1}"
]
}
}
]
}
}
関連トピック
最終更新日: 2025 年 12 月 04 日