loggingctl command, you must enter the Vega device shell using the vega exec vda shell command.
This tool helps you:
- Debug app issues through real-time log monitoring.
- Configure logging levels and rates for different processes.
- Access and analyze stored logs and crash reports.
- Manage log storage and retention.
- Investigate system issues through diagnostic data.
Start or restart LoggingCtl after installing new apps
LoggingCtl determines log permissions based on apps installed when the session starts. Apps installed after LoggingCtl begins won’t show logs until you restart the LoggingCtl session.Basic usage
Configuration commands
Useloggingctl config commands to control logging behavior for your apps.
Reset configuration
To reset logging configuration to defaults:-
For rate limits: Set the rate back to the default value (1000):
-
For log levels: Set the level back to the default (info):
-
To apply changes system-wide (required after changing rate or level): Restart the logging service:
Log commands
Useloggingctl log commands to view logs from systemd-journald memory in real-time or from stored data.
loggingctl log commands only show logs from the current session by default. To see older logs, use the --boot option on Vega Virtual Device. For Fire TV Stick, view previous logs using loggingctl vault commands.
Recommended filtering to view logs
For React Native and JavaScript developers, use the package ID filter (-v) to view logs from your specific app:
Ctrl+C.
If logs don’t appear for your app:
LoggingCtl only detects apps installed before the session starts. If you installed your app after starting LoggingCtl, reinstall the app and restart the session:
-
Install the app manually:
-
Start LoggingCtl:
-
Start the app using
vmsgr send:
JavaScript logging considerations
When using JavaScript logging in your Vega apps: Recommended approach: Useconsole.* methods for proper log level filtering:
Supported argument keywords
The--priority, --facility, --since, --until, and --output-format commands accept specific keywords:
-
Priority levels - Use
--priorityto control log visibility by setting a priority level. This filters log output to show only the specified priority level, helping you focus on logs from your component or other processes.- emerg - System is unusable, maps to:
- APMF_LOG(…, FATAL)
- alert - Action must be taken immediately
- crit - Critical conditions, maps to:
- LOG_F(FATAL)
- LOG_S(FATAL)
- err - Error conditions, maps to:
- APMF_LOG(…, ERROR)
- LOG_F(ERROR)
- LOG_S(ERROR)
console.error()(JavaScript)
- warning - Warning conditions, maps to:
- APMF_LOG(…, WARNING)
- LOG_F(WARNING)
- LOG_S(WARNING)
console.warn()(JavaScript)
- notice - Normal but significant conditions
- info - Informational messages, maps to:
- APMF_LOG(…, INFO)
- LOG_F(INFO)
- LOG_S(INFO)
console.log()(JavaScript)
- debug - Debug-level messages, maps to:
- APMF_LOG(…, DEBUG)
- LOG_F(DEBUG)
- LOG_S(DEBUG)
- emerg - System is unusable, maps to:
-
Time specifications - Filter logs by time using
--sinceor--until:- Keywords: now, yesterday, today, and tomorrow
-
Time format:
-
Output format using
--output-format: a. short_concise (Default)Example:b. short_preciseExample:
_CMDLINE instead of SYSLOG_IDENTIFIER to display the package URL origin. Use the -v (package ID) filter for the most reliable filtering of your app’s logs.
Example:
Vault commands
Useloggingctl vault commands to manage and access the smartboxd vault system.
Access crash reports (ACR files)
Use vault commands to list and retrieve crash report files (ACR) stored on the device. For background on ACR files and how to symbolicate them, see Symbolicate App Crash Reports.List available ACR files
To see all ACR files on the device:# is the index used to retrieve the file. The filename encodes:
Get ACR metadata
To get detailed metadata for all ACR files as JSON:Get the most recent crash index
Check ACR file size
Retrieve an ACR file
Use--cat with the artifact type SYSTEM_TOMBSTONE and the index number:
Save an ACR file
To save an ACR file to the device filesystem, redirect the output of--cat:
Example: retrieve a crash report
Command reference for ACR access
Permission structure
LoggingCtl implements role-based access control through default and component shell permissions. When operating in default or component shell mode, you can access:-
Index operations to track and manage log indices:
--last-index- View the most recent log entry index--get-index-stats- Get statistics about current log indices
-
Content access to view logs using
--catfor:- Your component-specific logs
- Sideloaded package logs
- System processes: stemd, lcm_service, inputd, and related services
-
Listing operations to view artifact information using the following commands:
--ls- Lists available logs--json-dump- Exports metadata--size- Checks artifact file sizes--storage- Checks total vault storage or specific artifact storage
Access denied
When you attempt unauthorized operations or try to access privileged data, you see a denied response:Log access restrictions
LoggingCtl limits access to the following log types:- Sideloaded component logs
- Daemon facility logs
- System components, including stemd, acr_core_dump, lcm_service, servicergrd, pkgmgrd, and inputd

