I’ve just published an update to BackLog, my freeware developer tool that lets you comfortably retrieve logs from your – or someone else’s, using custom URL schemes – Mac’s log archives.
What’s New
Checks for admin privileges at launch
Adds a simple update mechanism
The optional instructions you can send to users can now be copied in English or German (if you’d like to help translate them, please mail me – thank you!)
The sound that plays when retrieving logs completes now respects the “Play user interface sound effects” in System Preferences > Sound is enabled
It requires macOS 10.15 or newer and is currently available in English and German. It needs to be run from a user with admin privileges (or using ‘sudo’ – user discretion advised).
Due to APIs it uses (OSLogStore), it does not run in the macOS sandbox, but it’s notarized by Apple and runs in the Hardened Runtime environment. When checking for updates (manually started), it connects to eternalstorms.at. Other than that, your internet connection is not used.
It runs natively on both Apple Silicon- and Intel Macs.
I’m happy to announce the release of a new freeware app: BackLog.
The premise is simple: It’s complicated, or at least cumbersome, to get logs that predate you clicking “Start streaming” in Console.app – Apple’s recommendation for it is to *create an entire system diagnostics report* and look for files in there. Madness. I wanted a quick and easy way to, for example, get all log entries from all processes that happened from boot time to 5 minutes after. And that’s what this app lets me – and now, you – do.
Hello BackLog
BackLog, showing all log entries from boot-time to 4 seconds after boot-time.
Using BackLog is pretty straight-forward. Select the process you’re interested in, specify a time-range and an optional text-filter and hit Load Logs. You can then select it all and copy-paste it somewhere, or hit the little Share button at the lower left to share it as a file.
For convenience, right-click the ‘from’ or ‘to’ date pickers and select a time from the contextual menu, like Boot time.
What makes it a Developer Tool?
While diagnostic logs might appear to be of interest mostly to developers, a simple logging-app is not a developer tool to me, per-se. What really makes BackLog such a tool, in my opinion, is that developers can create backlog:// links which they can send to their customers, and, when they have the app installed and click that link, all the options (like process, date range and message type) will be set for them beforehand – no hassle. All the customer has to do is hit Load Logs and send the results back to the developer.
Numerous times I’ve had to deal with obscure app-sandbox or keychain access issues in Yoink, and having to tell customers to please open Console, filter for Yoink, and then (hopefully) reproduce the issue is just bad UX. Now, I can send them this app with a backlog:// link, with a time range pre-defined, and all they have to do is copy-paste the results into a response to my mail. And best of all – they don’t have to reproduce anything, the logs already contain all the info I need from the last time the issue occurred.
You can either copy only the backlog:// link, or have it include pre-written instructions for your customers.
Links and Further Info
BackLog is and will be Freeware. If you like it, however, I’d like to ask you to take a look at my other apps I offer for purchase on the App Stores – thank you 🙂
The app requires macOS 10.15 or newer and is localized – for now – in English and German. It’s sadly not sandboxed, because the OSLogStore APIs won’t work in the sandbox environment 🤦♂️. But Hardened Runtime is enabled, and it’s been notarized by Apple. Naturally, it runs natively on both Apple Silicon and Intel Macs.
For BackLog to work reliably, the app must be run from an admin account, or using ‘sudo’ (user-discretion advised)
Just a quick update on SiriMote, as I’ve been putting out a few updates for it over the last few weeks.
The app now has improved support for controlling the following apps with the Apple TV Siri Remote: – Boinx Software’s FotoMagico – Kodi – Apple’s Keynote – Apple’s TV App – Infuse 7
Yoink for iPad and iPhone v2.3.5 introduced Background Clipboard Monitoring, which, if enabled, stores anything you copy, even if Yoink itself is in the background, effectively giving you a clipboard history.
With version 2.4, I’ve improved it by adding the ability to only monitor for specific data types, and to temporarily pause the monitor.
Background Clipboard Monitoring in Action on iOS 15 and iPadOS 15
Captured on my iPad using iPadOS 15, lightly edited for brevity but otherwise unaltered
For demonstrative purposes, I kept Yoink in the foreground as a Slide-Over app, just to show what gets added when. But all of this works even if Yoink is not visible on your display and put in the background.
In the video above, I enable Yoink’s clipboard monitor and consecutively copy an image, a link, and some text; all get stored in Yoink. I then use the Picture-in-Picture’s fast forward button to tell Yoink to only watch for text. With that option set, I again copy an image, a link, and some text; this time only the text is stored in Yoink. I click the fast forward button again to make Yoink only save links, and repeat the copy-procedure of an image, a link, and some text; now, only the link gets stored in Yoink. A final time I click the fast forward button to have Yoink only watch for images and – you guessed it – when I copy an image, a link and some text, only the image is added to Yoink.
Next, I pause the clipboard monitor by using Picture-in-Picture’s Pause button. Now, Yoink does not react to any copy events at all. By pressing the Play button in PiP, I reactivate the clipboard monitor.
Notes on the monitor’s behavior
The clipboard monitor attempts to ignore sensitive data, like passwords. For this, it refers to the pasteboard data types proposed at nspasteboard.org, and checks if there are any password-type app names contained in the pasteboard data types, like “1password”, or “keychain”, for example. If encountered, Yoink ignores the copy-event and waits for the next.
As for energy consumption, it is very light-weight. The images you see in Picture-in-Picture are static – it doesn’t play video, it doesn’t play audio. Yes, Yoink will continue running in the background because of this, but all it does is check your pasteboard every couple of seconds (and not even the data directly, only a “changeCount” value provided by the API). If a change has occurred, it will save the content to Yoink and to disk. Syncing – if enabled – only occurs when the app comes back to the foreground, so there is no added network activity.
Other Changes in Yoink v2.4
– I improved Yoink’s compatibility with GarageBand. Dragging an audio file to GarageBand from Yoink now works correctly – Picture-in-Picture for arbitrary content now properly displays Map location items – I fixed a memory leak and a couple of app crashes
Pricing and Availability
Yoink is available on the iOS App Store as a one-time purchase, for $5.99 / €5.99. It is localized in English, German, Simplified Chinese, Japanese and Korean, with more languages to follow.