Skip to content

Collecting logs

It may be necessary to gain a deeper level of understanding into Enclave behaviour. To enable richer log messages it may be useful to run Enclave as a foreground process with high log verbosity using sudo enclave run -v 5 to inspect output in realtime. Beware, this will also increase the size of your log files. You may also find it useful to run tcpdump or WireShark to capture from tap0 or tun0 interfaces on Linux, or Enclave Virtual Network Port and Universe adapters on Windows to inspect traffic flows.

Log collection

Enclave is composed of two separate parts, the Fabric, which is the background process responsible for creating and moving packets across the virtual network interface, and a desktop user interface on Windows that communicates with the Fabric using local API calls. Our support team may ask you to collect logs from the Fabric, the desktop app, or both, depending on the nature of the problem you're encountering.

Enclave Fabric

In order to help with troubleshooting on Windows, Linux or macOS, our support team may ask you to provide logs from the Enclave Fabric. The amount of information recorded in a log is determined by the Log Level, which we may ask you to increase.

Enclave log levels are set as follows:

Level Value  
minimal 0 Critical problems, startup and shutdown messages. Always logged.
informational 1 Operational state changes, some warnings. (this is the default value).
networkevents 2 Enclave connectivity events, including tunnel attempts.
protocolevents 3 Detailed protocol events, including keep-alives and tunnel negotiation.
debug 4 Debug tracing, including DNS queries and low-level socket events.
framedata 5 All network frames to/from this system are traced to the log. Significant performance impact.

To collect logs from the Enclave Network Fabric at a given level for a brief period, you can set the Enclave log level temporarily, until Enclave restarts. This does not require admin rights.

To do this, run enclave loglevel <desired-log-level> in a terminal.

To collect logs during Enclave start-up, or for a longer period, you can set the configured profile log level to ensure it is retained after a restart of the Enclave process. This is useful if, for example, the issue only happens when starting Enclave or we need to restart Enclave a few times for the issue to manifest.

Configuring the profile log level requires admin/elevated rights:

  • Windows: Open a command prompt window as administrator: enclave set-config loglevel <desired-log-level>

  • Linux/Mac: Run this command in your terminal: sudo enclave set-config loglevel <desired-log-level>

Once you're ready to send the logs you can identify the current log file by running enclave status in a terminal.

Look for this line in the Local Identity section at the top of enclave status:

Log file location . : C:\Program Files\Enclave Networks\Enclave\Agent\logs\fabric.universe.20230315.pid.5452.log

From here you can forward this file over to our support team who will be happy to help.

Note

Be aware you may need to provide additional log files. We often recommend sending the entire contents of your "logs" directory, to ensure that we have as much information as possible to resolve your issue.

Enclave Windows desktop app

If we suspect that the source of a bug lies within the desktop app, rather than the supervisor service, we might ask you to collect the desktop app application logs instead. These can be found at %TEMP%\enclave-tray-logs.

The desktop app log level is elevated independently of the supervisor service. To do this, first close down the application by right clicking on the desktop app icon and selecting Exit. Then, run enclave-tray --profile <profile-name> --verbosity <desired-integer-log-level> in the terminal, where:

  • <profile-name> is the name of your profile.
  • <desired-log-level-as-integer> is an integer between 0 and 5, where 0 corresponds to the minimal log level. The higher the value, the higher the log level.

Enclave on mobile

On mobile devices the process for collecting logs from the Enclave Fabric is slightly different:

  1. Open the Enclave app, ensuring that enclave is first running, and then select the hamburger menu in the top left.

  2. Select settings and enable debug logging. From here, use the app as you would normally to reproduce the bug.

  3. Once you've reproduced the bug you can now submit the logs. Navigate back to the settings page by again selecting the hamburger menu and then settings.

  4. Now select Submit Enclave Logs. Once the logs have submitted you'll receive a pop up stating that the logs were successfully sent.

Contact support

If you've followed our troubleshooting guides and are still unable to resolve the problem, please reach out to our support team for assistance.