RxLogger Settings

RxLogger 13.0

Overview

RxLogger settings are configured through the RxLogger user interface or by pushing a configuration file to the device. All settings are stored in the config.json file that can be exported and mass-deployed to devices across an enterprise.


Secure Mode

Secure Mode enhances the security of Rxlogger by restricting external access of RxLogger logs, reducing the risk of misuse of potentially sensitive data. It also offers a secure method to broadcast intents, ensuring that only trusted users have access, and establishes a safeguarded environment for the deployment of the configuration file to adjust RxLogger settings.

Secure Mode is enabled/disabled exclusively through Zebra OEMConfig, which can be configured using an Enterprise Mobility Management (EMM) system. To enable/disable Secure Mode, see Control Secure Logging in the OEMConfig documentation.

When secure mode is activated, RxLogger-Secure is displayed as the title in the RxLogger main screen.

RxLogger in secure mode

Requirements

Requirements for Secure Mode are:

  • Android 11 or higher
  • OEMConfig v11.5.0.1 or higher
  • Minimum RxLogger versions based on platform (see Zebra Platform Devices list):
    • SD660: v7.0.4.11
    • SM6375: v7.75.4.26
    • QC6490: v7.0.5.17


Logs

Logs collected from Secure Mode are stored in a separate location than the original log path.

Name Folder Path Folder Path Representation
Log Path <RxLogger_Path> <RxLogger_Path> represents one of the following:
  • Internal storage path: /sdcard/RxLogger/
  • External storage path: /storage/<UUID>/RxLogger/
(where <UUID> is the device's unique identifier)
Secure Log Path <Secure_RxLogger_Path> <Secure_RxLogger_Path> represents one of the following:
  • Internal storage path: /sdcard/Android/data/com.symbol.rxlogger/RxLogger/secure/log_data/
  • External storage path: /storage/<UUID>/Android/data/com.symbol.rxlogger/RxLogger/secure/log_data/
(where <UUID> is the device's unique identifier)

Note: For logs to be captured in Secure Mode, external storage sdcard must be encrypted through Encryption Manager from MX. Otherwise, the log path defaults to the internal storage path.

For information regarding the specific log path where secure logs are stored for each module, see the corresopnding RxLogger Module.


Backup

In Secure Mode, the backup of the RxLogger folder is password-protected.


Deployment

To deploy the configuration file (config.json) using ADB, the intent must be broadcasted prior to file deployment. If the intent is not broadcasted, this results in the configuration file being unprocessed, preventing the new settings from being applied. To broadcast this intent via ADB shell:

    com.symbol.rxlogger.intent.action.DEPLOY_CONFIG_SHELL

Secure Mode

In Secure Mode, any third-party app attempting to deploy the configuration file must broadcast the intent and send it with a "token" as an extra. The "token" is requested from the Zebra Device Manager with the delegation scope. See Using Delegation Scopes. The deployment will fail if the intent is not broadcast during deployment. To broadcast the intent to deploy the configuration file:

    com.symbol.rxlogger.intent.action.DEPLOY_CONFIG -e “token” “<token-id>”

Replace <token-id> with the token obtained, see Third-Party App Token Request.


APIs

Special APIs are available to enable RxLogger in Secure Mode with the use of tokens for authentication. See APIs.


Settings GUI

To configure general log settings through the GUI:

  1. Tap the Settings button to display a list of configurable modules currently loaded by diagdaemon:
  2. Tap RxLogger Settings to display a list of general configurations.
  3. Enable/disable the desired settings:
       • Enable notifications - If enabled, RxLogger icon is seen in the notification bar when running. This is helpful to determine whether RxLogger is running in the background. By default, this option is enabled.
       • Enable debug logs - If enabled, the debug logs from RxLogger and Diagdaemon are collected in the location specified in the Settings File section. After enabling/disabling debug logs, tap the back button, tap Save and then reboot the device for the change to take into effect. By default, this option is disabled.
       • Enable internal sdcard only - If enabled, logs are saved to the internal SD card even when an external SD card is inserted into the device. By default, logs are saved tot he external SD card if present.


To configure module settings through the GUI:

  1. Tap the Settings button to display a list of configurable modules currently loaded by diagdaemon:
  2. Tap the module to be edited to display a list of its parameters:
  3. Edit settings as required. Tap the BACK button when done.
  4. Repeat Steps 2 and 3 until all modules are edited as desired.
  5. On the modules listing screen, tap SAVE to preserve all changes.

See the Modules page for settings information.

Settings Data Types

Supported data types:

  • Integer - used to store numerical data such as the number of files to store. Allowable integers range from 0 - 2,147,483,647 (max int). For fields such as file size that do not allow a value of 0, a 1 is substituted at runtime. For integer fields, the UI accepts only numerical input.

  • String - used to store text such as file names and storage paths. The UI accepts any alphanumeric input and symbols as permitted by the file system.

  • Boolean - used to store true/false information such as to enable/disable a module; represented in the UI as a checkbox.

  • List - used to select one value from a list of pre-assigned values; represented in the UI as a group of radio buttons.


Settings File

All RxLogger settings are stored in a file on the device, permitting remote configuration and mass deployment of these files using an enterprise mobile management (EMM) system. When a new settings file is pushed to the device, RxLogger restarts all affected modules and applies the new settings immediately after receiving the refresh config intent.

RxLogger settings file:

  • File name - config.json
  • Internal storage: /sdcard/RxLogger
  • External storage (SD card): /storage/<UUID>/RxLogger, where <UUID> represents the UUID of the SD card

To update RxLogger configuration settings and deploy them to other devices:

  1. Open RxLogger settings.
  2. Modify the desired configuration settings.
  3. Save the configuration. Config.json is created and saved to either internal or external storage.
  4. Copy the config.json file from the folder path in step 4 to the same path on the target device.
  5. After deploying the config.json file, broadcast the Refresh Config intent.

RxLogger will restart to apply the new configuration settings. This method ensures accuracy and reduces the likelihood of errors that may occur when manually editing JSON file values.

Note:

  • Zebra recommends using the same config.json file across devices with the same Android platform version. Use of the same file across multiple Android platform versions may lead to unexpected behavior.
  • A config.json file from a WWAN device cannot be used interchangeably on a WLAN device, and vice versa. WWAN related modules, such as qxdm, are not available on WLAN devices and can result to unexpected behavior.