loggingctlコマンドにアクセスするには、vega exec vda shellコマンドを使用して、Vegaデバイスシェルに入る必要があります。
このツールを使用すると、次の操作を実行できます。
- リアルタイムのログモニタリングを通じてアプリの問題をデバッグする。
- さまざまなプロセスのログレベルとレートを構成する。
- 保存されているログとクラッシュレポートにアクセスして分析する。
- ログストレージと保存期間を管理する。
- 診断データを使用してシステムの問題を調査する。
新しいアプリをインストールした後にLoggingCtlを起動または再起動する方法
LoggingCtlでは、セッションの開始時にインストール済みのアプリに基づいてログ権限を決定します。LoggingCtlの開始後にインストールされたアプリのログは、LoggingCtlセッションを再起動するまで表示されません。基本的な使用方法
configコマンド
アプリのログ動作を制御するには、loggingctl configコマンドを使用します。(注:画面の出力に関する日本語表記は説明のために提供しています。実際には英語で表示されます。)
構成のリセット
ログ構成をデフォルトにリセットする方法は次のとおりです。-
レート制限:レートをデフォルト値(1000)に戻します。
-
ログレベル:レベルをデフォルト(info)に戻します。
-
システム全体への変更の適用(レートまたはレベルの変更後に必要):ロギングサービスを再起動します。
logコマンド
loggingctl logコマンドを使用すると、systemd-journaldメモリからリアルタイムでログを表示したり、保存されているデータからログを表示したりできます。
デフォルトでは、loggingctl logコマンドは現在のセッションからのログのみを表示します。古いログを表示するには、Vega仮想デバイスで--bootオプションを使用します。Fire TV Stickでは、loggingctl vaultコマンドを使用して以前のログを表示できます。
ログの表示に推奨されるフィルター
React NativeおよびJavaScriptの開発者の場合、特定のアプリのログを表示するには、パッケージIDフィルター(-v)を使用します。
Ctrl+Cを押します。
アプリのログが表示されない場合:
LoggingCtlは、セッションの開始前にインストールされていたアプリのみを検出します。LoggingCtlの起動後にアプリをインストールした場合は、アプリを再インストールし、セッションを再起動してください。
-
アプリを手動でインストールします。
-
LoggingCtlを起動します。
-
vmsgr sendを使用してアプリを起動します。
JavaScriptロギングに関する注意事項
VegaアプリでJavaScriptロギングを使用する場合: 推奨アプローチ:ログレベルのフィルタリングにはconsole.*メソッドを使用します。
サポートされている引数キーワード
--priority、--facility、--since、--until、--output-formatの各コマンドは、特定のキーワードを受け取ります。
-
優先度レベル - 優先度レベルを設定してログの表示を制御するには、
--priorityを使用します。これにより、指定の優先度レベルのみを表示するようにログ出力がフィルタリングされ、独自のコンポーネントやその他のプロセスのログに集中しやすくなります。- emerg - システム利用不可。マップ先:
- APMF_LOG(…, FATAL)
- alert - 即時対応が必要。
- crit - 重大な状態。マップ先:
- LOG_F(FATAL)
- LOG_S(FATAL)
- err - エラー状態。マップ先:
- APMF_LOG(…, ERROR)
- LOG_F(ERROR)
- LOG_S(ERROR)
console.error()(JavaScript)
- warning - 警告状態。マップ先:
- APMF_LOG(…, WARNING)
- LOG_F(WARNING)
- LOG_S(WARNING)
console.warn()(JavaScript)
- notice - 正常だが重要な情報がある状態。
- info - 情報メッセージ。マップ先:
- APMF_LOG(…, INFO)
- LOG_F(INFO)
- LOG_S(INFO)
console.log()(JavaScript)
- debug - デバッグレベルのメッセージ。マップ先:
- APMF_LOG(…, DEBUG)
- LOG_F(DEBUG)
- LOG_S(DEBUG)
- emerg - システム利用不可。マップ先:
-
時刻の指定 - 時刻でログをフィルタリングするには、
--sinceまたは--untilを使用します。- キーワード:now、yesterday、today、tomorrow
-
時刻の形式:
-
--output-formatによる出力形式の指定: a. short_concise(デフォルト)例:b. short_precise例:
SYSLOG_IDENTIFIERを使用するのではなく、_CMDLINEを使用して元のパッケージURLを表示します。アプリのログを最も確実にフィルタリングするには、-v(パッケージID)フィルターを使用します。
例:
vaultコマンド
smartboxdボールトシステムにアクセスして管理するには、loggingctl vaultコマンドを使用します。
クラッシュレポート(ACRファイル)へのアクセス
デバイスに保存されているクラッシュレポートファイル(ACR)の一覧を表示したり、ファイルを取得したりするには、vaultコマンドを使用します。ACRファイルの概要とシンボリケート方法については、アプリのクラッシュレポートをシンボリケートする方法を参照してください。使用可能なACRファイルの一覧表示
デバイス上のすべてのACRファイルを表示するには、次のコマンドを使用します。#の前の番号は、そのファイルを取得するときに使用するインデックスです。ファイル名は次のフィールドで構成されます。
ACRメタデータの取得
すべてのACRファイルの詳細なメタデータをJSONとして取得するには、次のコマンドを使用します。最新のクラッシュインデックスの取得
ACRファイルのサイズの確認
ACRファイルの取得
--catを使用して、アーティファクトタイプSYSTEM_TOMBSTONEとインデックス番号を指定します。
ACRファイルの保存
ACRファイルをデバイスのファイルシステムに保存するには、--catの出力をリダイレクトします。
例:クラッシュレポートの取得
ACRにアクセスするコマンドのリファレンス
パーミッション構造
LoggingCtlには、デフォルトおよびコンポーネントシェルのパーミッションを通じたロールベースのアクセス制御が実装されています。デフォルトまたはコンポーネントシェルモードで操作する場合、次の情報にアクセスできます。-
ログインデックスの追跡と管理を行うインデックス操作:
--last-index- 最新のログエントリのインデックスを表示します。--get-index-stats- 現在のログインデックスに関する統計情報を取得します。
-
--catを使用してログを表示するためのコンテンツアクセス:- コンポーネント固有のログ
- サイドロードされたパッケージのログ
- システムプロセス:stemd、lcm_service、inputd、関連サービス
-
次のコマンドを使用してアーティファクト情報を表示するリスト操作:
--ls- 使用可能なログを一覧表示します--json-dump- メタデータをエクスポートします--size- アーティファクトファイルのサイズをチェックします--storage- vaultストレージの合計または特定のアーティファクトストレージをチェックします
アクセス拒否
許可されていない操作を試みたり、特権データにアクセスしようとしたりすると、拒否のレスポンスが返されます。ログへのアクセス制限
LoggingCtlでは、次のログタイプへのアクセスは制限されます。- サイドロードされたコンポーネントのログ
- daemonファシリティのログ
- システムコンポーネント:stemd、acr_core_dump、lcm_service、servicergrd、pkgmgrd、inputdを含む

