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 to utilized RxLogger in Secure Mode:

  • Operating System: Android 11 or higher
  • OEMConfig: v11.5.0.1 or higher
  • RxLogger Versions: 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 in Secure Mode are stored separately from 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, the external storage SD card must be encrypted through Encryption Manager from MX. If not, the log path defaults to the internal storage path.

For specific log paths for each module, refer to the corresponding RxLogger Module documentation.


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 include a "token" as an extra. The "token" is requested from the Zebra Device Manager with the delegation scope. See Using Delegation Scopes. The deployment fails 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 for details.


APIs

Special APIs are available to enable RxLogger in Secure Mode using tokens for authentication. See APIs for details.


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 - Shows the RxLogger icon in the notification bar when running. This is helpful to determine whether RxLogger is running in the background. This is enabled by default.
       • Enable debug logs - Collects debug logs from RxLogger and Diagdaemon in the location specified in the Settings File section. After enabling/disabling, tap the back button, tap Save and reboot the device for the change to take into effect. This is disabled by default.
       • Enable internal sdcard only - Saves logs to the internal SD card even when if an external SD card is inserted. By default, logs are saved to the external SD card if present.


To configure module settings through the GUI:

  1. Tap the Settings button to display a list of configurable modules 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 for all desired modules.
  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 - Numerical data (0 - 2,147,483,647), such as the number of files to store. For fields that do not allow a value of 0, such as file size, a 1 is substituted.
  • String - Text such as file names and storage paths. The UI accepts any alphanumeric input and symbols as permitted by the file system.
  • Boolean - True/false information, such as to enable/disable a module, represented as checkboxes.
  • List - Select the value from a list of pre-assigned values, represented as 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.

  • File name - config.json
  • Internal storage: /sdcard/RxLogger (if the external SD card is not present on the device or Enable internal sdcard only option is activated)
  • External storage (SD card): /storage/<UUID>/RxLogger, where <UUID> represents the UUID of the SD card (if the external SD card is present)

RxLogger settings can be configured through the RxLogger user interface (UI) or by editing the settings file.

Note: Zebra recommends using the same `config.json` file across devices with the same Android platform version. Use of the same file across different Android platform versions may lead to unexpected behavior.

Configure via UI

To configure RxLogger settings via UI:

  1. Open RxLogger settings.
  2. Modify the desired configuration settings.
  3. Save the configuration. Config.json settings file is created and saved to either internal or external storage. RxLogger restarts to apply the new configuration settings.

This method ensures accuracy and minimizes the risk of errors that can occur when manually editing values in config.json.

Configure via file

To manually configure RxLogger settings:

  1. Locate and retrieve the config.json settings file from either internal or external storage.

  2. Manually update the config.json file with the required changes, modifying only the values in the "Value" field; all other fields are pre-defined. For parameter values, refer to the Modules section. Zebra recommends viewing the file in JSON format for easier editing.

  3. For secure mode, broadcast the intent to trigger RxLogger to restart upon detecting an updated config.json file. This must be performed prior to file deployment. For instructions, see Secure Mode Deployment.

  4. Deploy the config.json file to the designated path in Step 1.

  5. For non-secure mode (legacy mode), broadcast the Refresh Config Intent API to trigger RxLogger to restart and apply the new settings:

     com.symbol.dd.intent.action.REFRESH_CONFIG_ACTION
    

    Note: Starting with RxLogger v13.0.12.76, Refresh Config Intent API is discontinued. Instead, RxLogger will automatically refresh to implement changes whenever it detects an updated config file.