Why can’t I find anything useful in Sierra’s logs?

This is probably the first time that you have tried opening Console since you upgraded to Sierra. It comes as a shock: the app looks different, and the logs aren’t the same as they used to be. What is going on? Why can’t you find anything in those logs?

In macOS Sierra, Apple has made a major change to the logging system. Although some traditional logs are available, such as system.log which can still be browsed in Console, all the important log entries go into a new and much more detailed log system. Unfortunately, Console does not provide useful access to those new log entries. As Sierra has been shipping for over four months now, we must presume that for the time being, at least, Apple is not going to give us good access to the new-style logs.

consoleprob1

If you open Console and try browsing system.log, or search it for important entries such as startups (using BOOT_TIME, perhaps), or Time Machine backups, you’ll be disappointed. Log entries for those important events do not go into system.log.

Instead, they are recorded in the new logging system, which you can view by selecting your computer in the list of Devices. The snags with the logs shown there are that they are only collected whilst Console is open, and it quickly accumulates tens of thousands of entries there.

So in the new logging system, Console cannot be used to look back at anything which happened before you opened it. This makes it impossible to inspect what went on at shutdown or startup, and even checking a Time Machine backup gets very silly.

If you are happy using the command line, there is a new command log which can give you full access to entries in the new logging system. It has some quite serious bugs, which have been present since Sierra was first released, and you’ll want to work around those. The log command is extensively documented by typing man log in Terminal.

consoleprob2

Because of these problems, I have created a simple replacement for Console, for when you want to examine log events that have already occurred. For example, you can identify when your Mac last started up using settings shown, which search the logs for startups over the last day. The log extract which is returned might then look like:
Timestamp PID]
2017-01-23 19:19:35.47 syslogd[70]: (libsystem_c.dylib) BOOT_TIME: 1485199157 0
2017-01-23 20:21:35.13 syslogd[67]: (libsystem_c.dylib) BOOT_TIME: 1485202893 0

For shell command:
log show --predicate '(eventMessage CONTAINS[c] "BOOT_TIME")' --style syslog --info --last 1d | cut -c 1-22,43-999 > /Users/hoakley/Documents/0newDownloads/LogLoggerOut00.text

Once you know those times, you can then hone in and search for detailed information from those logs, perhaps about Bluetooth problems, or a troublesome kernel extension.

Finding out information about Time Machine backups is even easier, as that is probably the most common reason for users wanting to browse their logs.

You can download this AppleScript app from here: loglogger5d

It comes complete with its own documentation.

I am also working on a ‘proper’ app written in Swift 3. Now that we know Apple isn’t going to release a better version of Console for a while, if ever, I will devote more time to that. You’ll find plenty of helpful information on this blog about using these tools: there is a convenient index to articles in the Mac Probs menu item at the top of the page.

I hope that lessens your shock at what has happened to Console and its logs.