A Brief Guide to reading OS logged data from ManagdWALplus

It will come in handy to be able to “peek” into the inner workings of the ManagdWALplus app, especially hunting for the causes of seemingly unexplainable behavior. This cause will either be misconfigurations or programmatic erros (aka errors). The Console offers good insight into well-written apps, where the built-in OS log of the iOS itself is used widely. Such as in the ManagdWALplus app, especially when using debug level 3 which is the default setting.

Console message setup

  1. Connect the MacOS device to the iOS device.
  2. Accept connections from the MacOS device in the iOS device.
  3. Start the Console-app on the MacOS device.
  4. Select the iOS device.
  5. Set up a filter (see section below)

Search/filter setup

An iOS device may generate dozens of messages per second. This will quickly garble the view of the Console message list. Search/filters are essential to handle this. In the filter/search field (in the upper right corner), do the following:

Type a sensible search/filtering criteria. This will by default be of type “Any”, as shown here, with a word of your choice as contained in the string, typically WAL for the ManagdWALplus app.

Filtering can be be tailored, and performed on basis of parameters such as Process, Subsystem and Category as shown below. Criterias such as Contains (default), Equals, Does Not Contain and Does Not Equal can be applied as well:

Filter/search criteria for WAL event logging.
Console logging filters.

Contains and Equals are the most likely candidates in this context.

The most commonly used search/filter functions are shown in the table below, with explanations:

Filter nameUseExample
SubsystemType the reverse-domain name style name of subsystem (aka app). This will show all related events of this subsystem, including those primarily handled by iOS or related modules.com.royalcoudsystems.ManagdWALplus
ProcessAll events related to the app, including processes spawned by iOS to handle user interface elements (scenes), webview etc.
CategoryApp-defined categories.Please refer to Table 2 below.
Table 1: Relevant filter functions of the Apple MacOS Console, with examples,

Using Any or Category, it will come in handy to filter/search for “WAL_”, which will match all app-defined logging from the ManagdWAL/plus, as shown in this illustration;

This can be further drilled down to one of the functional areas of the app, such as WAL_Settings for messages relating to the reading of settings from XML of EMM/MDM/MAM/UEM systems and predefined (bundled) WALconfig.plist settings. Please refer to Table 2 below, for explanations of the different categories of WAL_ – names of the different functional areas.

Category (WAL_ – name)MeaningUse
WAL_Main delegateCaptures main state transitions of the app, such as creation, stop, going into or out of background.To study possible connection with possible erroneous behavior in areas related to these state state changes.
WAL_AudioAudio alert eventsShows where audio alerts are (or would have been) given (if audio is turned off).
WAL_Main viewResponsible for handling of user interface elements such as qLIs, and web view.Tracing of qLI use, display of URL/URI/URNs before launch.
WAL_Login viewHandling admin loginPassword handling, redirection to administration.
WAL_Admin viewHandling selections of local admin functionsRedirection to local iOS device administration. Display of settings (upcoming feature).
WAL_TimersFunctionality for timed eventsStartup and disabling of recurring and specific time events.
WAL_SettingsDisplay of all configuration settings when read.XML settings (existing and new) from EMM/MDM/MAM/UEM systems, as well as bundled WALconfig.plist settings.
WAL_Read SettingsSubsystem of WAL_Settings, performing actual reads.XML and WALconfig.plist readouts.
WAL_HeartbeatSending log-data to remote logging system.Primarily for heartbeat data, with payload such as freely configurable data and data collected on device (device ID, battery charge status etc.)
WAL_NetworkNetwork support functionalityNetwork availability checks.
Table 2: WAL system events and messages per category name.

Document Revision: March. 2020. Doc. rev.: 0.1 Valid from app rev 0.91.7.