Skip to main content

Unified Logging

The Zappl agent sends log output to Apple’s Unified Log. This offers a simple way of collecting and filtering through logs with a set category or from a set timeframe.
The AppBar logs can also be viewed/collected using the unified log, using ‘com.zappl.AppBar’ as the subsytem label

Streaming Logs

To stream all current Zappl logs with Terminal, launch Terminal and input the following command, then press enter.
Alternatively, you can stream the current Zappl logs using the Console app. To do so, launch Console, then in the filter field select SUBSYSTEM and enter com.dare.zappl as the subsystem name. Log Streaming - Console

Historical Logs

You can use the Terminal app to run any of the below commands to gather historical Zappl logs using Apple’s unified logging.
To alter the timeframe, change the last value. We use 1h in the below examples for the last hour, but you could also specify days. e.g. 1d for 1 day.
Display all Zappl logs from the last $timeframe
Export all Zappl logs from the $timeframe to a .log file on the desktop
Display all available errors outputted by the Zappl agent
Display only logs relating to the scheduled update category from the last $timeframe (see the table below for a full list of available categories)

Zappl Log File

This log stores the previous 4 weeks of historical information outputted by Zappl, from informational output to any errors and warnings encountered.
Filtering through the log using Error: as the search term will display any historical errors outputted by Zappl. The excerpt below demonstrates log output displayed during a typical app installation.
Text

Zappl Portal Logs

The Zappl agent sends any errors or warnings it generates to the device records in the Online Portal . These records are stored for 30 days, providing an easy way to view issues without sifting through the main Zappl logs. For more information, see Logs.

Capturing Logs via MDM

Using an MDM tool like Jamf Pro (which will be used as an example below), we can capture Zappl logs remotely from a Mac, and upload to the relevant Inventory Record for download and further investigation.

Script

The script used for Log Collection can be found here.

API Client

1
In Jamf Pro, navigate to Settings > System > API Roles and Clients > API Roles
2
Create a new API Role, giving it a relevant name.
3
The only privileges needed for this workflow are Read Computers and Create Computers. Log Collection via MDM We can then create an API Client which utilises this role.
4
Navigate to Settings > System > API Roles and Clients > API Clients.
5
Create a new API Client, giving it a relevant name.
6
Choose the API Role you created in the prior step.
7
Under the Enable/disable API Client option, click on Enable API Client. Upon clicking Save, this provides you with an option to Generate a Client Secret.
8
Clicking on this option presents a popup. Click on Create Secret and you will be provided with a Client ID and Client Secret.
Be sure to copy these details to your clipboard, as the Secret cannot be viewed again without rotating it. We will be using these details with our Collect Logs script in the next steps.
Log Collection API Client
We’re now ready to utilise this API Client in a Jamf Pro Policy.

Policy

1
In Jamf Pro, navigate to Computers > Policies, and click on Create New.
2
Give your Policy a relevant name, and choose how you want the Policy to trigger.
We’d generally recommend a trigger of Recurring Check-In, with a frequency of Once Per Computer. This allows the script to trigger silently when the Mac next checks in with Jamf Pro, and requires no user-input.
3
Click on the Scripts payload and select the Collect Logs script you should have uploaded earlier.
4
Enter the necessary parameter details as follows;

Parameter 4 | Jamf Pro URL

Parameter 5 | Client ID

Copied from the earlier API Client steps.

Parameter 6 | Client Secret

Copied from the earlier API Client steps.
Log Collection MDM Policy
5
Set the Scope of the Policy to your preference, and Save the Policy.
Once the policy has executed on the target Computer(s), you can proceed.
6
Navigate to the relevant Inventory Record(s).From here, in the Inventory tab select the Attachments option, and you should see a Zappl Log uploaded. Log Collection MDM Attachment
7
You are then able to download this log to your own computer for further troubleshooting.