New free Unified Log Browser Ulbow in first beta

I’m delighted to offer the first beta release, 1.0b1, of Ulbow, my new browser for the Unified Log in macOS Sierra and later. It’s intended to be much simpler to use than Consolation, but with similar power and flexibility. It also pulls a few tricks to help it remain more usable.

ulbow1b103

Those who’ve used Consolation 3 will be familiar with most of its features, but a little surprised that its main window is now filled almost entirely with your log extract, rather than a daunting array of controls, most of which only confuse.

ulbow1b102a

Its controls fit neatly into just two top rows. The first of those has three ‘combo’ boxes in which you can choose or enter:

  • A predicate to determine which log entries are obtained from the unified log. Two examples are provided for Time Machine, one for iCloud (the same as that used in Cirrus’ log browser), and one for the privacy system TCC (as in Taccy). When you change the setting here, you need to click the Get log button to fetch a fresh extract using the changed predicate.
  • A filter, supporting both plain text and regex, which is applied to the message fields of log entries which have already been fetched. This makes it quick and simple, for example, to view all those entries with ‘error’ in their message. With reasonable size log extracts, this works almost instantly.
  • A style to determine which fields are shown, in which order, how they are coloured, and so on. This too is applied almost instantly to extracts of reasonable size, enabling you to type them in on the fly if you wish, making it easier to develop your own custom styles. The first style in the menu is ‘none’, which provides output similar to syslog.

Supplied with this beta are a couple of example Propery Lists containing a suite of useful predicates, filters and styles, which can be imported and exported as you wish. You can edit these custom entries in Ulbow’s Preference window, or using any good text editor, as they are plain Property Lists.

The second row of controls is used to define the time period for which to obtain log entries (in the past). This is made as simple and efficient as possible by using a reference date and time, which forms either the start or end of the period, and an offset period, which can be set from 1 second to as many days as you wish. If that offset is negative, it specifies the period before the reference; if it is positive, then it’s the period after the reference. There’s also a Now button which sets the reference time to the immediate present.

To the right of the period controls are two numbers: the first gives the total number of log entries in the current extract, and the second the number of lines in the log display. These are wildly different here because this extract was obtained with a new feature enabled, which limits the maximum entries to display to a number of your choice (here 1000).

This makes a huge difference. Although you can still inadvertently call for massive log extracts (when developing, I asked for two hours of all log entries by mistake), you can then close the window, open another and carry on. If you discover that a 20 second interval contains more than 40,000 log entries, limiting those displayed to a thousand keeps controls responsive, so you can still browse that thousand, and work out how to limit the entries returned. You can of course set your own limit, but I’ve been finding a thousand works well.

Although I need to do more work on it, its PDF Help book is currently over 5,000 words on 24 pages.

One important reminder: Ulbow needs to be run as an admin user, although it doesn’t currently have the same code to check this as Consolation 3 does. That will be added a bit later.

There are a few features not implemented in the first beta:

  • Obtain log entries from a logarchive rather than the current system log, and create a logarchive too.
  • Export in CSV format for import into a spreadsheet. I’m not sure if anyone uses that feature in Consolation 3, but can add it later if requested.
  • Option to display log entries using a monospace font. Because of the verbosity of the unified log, this may be a little disappointing, but I will add it.
  • Using native calls to obtain log entries in Catalina. Because this isn’t backward-commpatible, I currently don’t have any plans to add this.

This first beta of Ulbow is available from here: ulbow1b01
from Downloads above, and its Product Page. It doesn’t yet have an auto-update mechanism either; I will add that when it appears fairly stable. It is notarized, and runs a treat on Catalina in both Dark and Light Modes.

I welcome your reports, requests and suggestions, either here or at its Support Page. As I no longer have ready access to any macOS before Catalina, I particularly welcome reassurance that it does run properly on Sierra, High Sierra and Mojave.