I continue to be amazed at the number of Mac users who, since Sierra introduced the new unified log, have stopped trying to use the log on their Macs. These include knowledgeable developers and a great many advanced users. I can understand that they find the bundled tools – Console and the log
command – forbidding, and the sheer volume of log entries overwhelming, but without browsing the log so many problems become almost insoluble.
I’m also aware that my own log utility, Consolation, may seem almost as intimidating. It has some quirks, and until you’ve used it a fair bit its complexities can induce errors. Some time ago, I started building simpler specialised log browsers into other utilities such as Cirrus and Taccy, where they have proved more accessible. I’ve been planning a simpler general purpose log browser for many months, but the ideas never quite came together and it kept getting pushed back.
I’ve finally overcome my inertia, and am pleased to unveil the beginnings of a new log browser which I hope will prove more generally useful and usable: Ulbow.
Whether in Light or Dark Mode, its window is much cleaner and simpler, although it loses none of the power and flexibility of Consolation 3. Instead of thrusting every imaginable control into your face, it’s driven by just two rows containing the most immediate settings for your log extract:
- Predicate lets you select a filter from an editable library, or enter one on the fly, to be applied in the
log show
command which obtains entries from the unified log. - filter selects entries from an editable library, or you can enter one on the fly, which are applied to log entries already obtained from
log show
. - style offers a format from an editable library, or on the fly, determining which fields are shown, and which colours to display them in.
- Period specifies the time window of the log entries. This is set relative to a base time, so that -30 sec means that period prior to the base, and +30 sec means that period after the base.
- The Now button simply sets the base time to that of the clock at that moment.
- The Get log button does what it says.
The Period controls in Consolation are among its most complex and frustrating, although they are very flexible when you’ve worked out how to use them. For example, they let you type in a number directly for the period, as well as using the stepper control. The snag is that typed in numbers follow Apple’s convention that they are only entered after you press the Tab or Enter key, and that repeatedly catches users out. If you want to use a fixed time there, you have to set the Period to 0 and then enter both the Start and End times, which is inefficient.
Ulbow’s Period controls are designed to minimise the user’s work to specify any time period. If you want just the last minute, set the Period to -1 minute and click on the Now button. If you want to view a period of one minute starting an hour ago, set the Period to 1 minute and the base time to the start of that interval.
This is only one view of your log extract. Once this is working fully, I will be adding an alternative view based on a Table View, although that will be more limited in the number of entries which it can display. I also want to incorporate some of the more exploratory features which I previously included in WoodPile, so you can navigate log entries graphically and see the frequency of entries from different subsystems.
If you have ideas for how you’d like Ulbow to work, or features which you’d like included, now is the best time to tell me.
All these features depend on working with log entries to their fullest extent, with all their fields stored as dictionary entries rather than lines of formatted text. This is a major departure from traditional logs, and already used extensively in Consolation 3. This enables Ulbow to do things with your logs which are simply not feasible when working with either Console or the log
command, which help cope with the profusion of entries, and understanding log extracts.
I should also explain the app’s name, which has been as long in the making as the app itself. It started as Consommé, a clear soup and reference to Console, but I wanted to refer more specifically to the unified log, which contributes the first two letters. Ulbrow then came into contention, but seemed too strange, and iBrow too hackneyed. But Ulbow, with its similarity to elbow, felt more euphonic and invited a distinctive icon.
The race is now on: will I get the first beta of Ulbow out before Catalina ships? Which will have more bugs? Before you say that’s not a fair comparison, remember I did give Apple a few months head start.