I got a new mouse yesterday to use it with Mac Mouse Fix, an amazing application that “Makes Your $10 Mouse Better Than an Apple Trackpad!”. I can assure you it does.
The mouse connects via Bluetooth, a short-range wireless technology that even after 25 years, it’s either insecure, unstable or both. Sometimes it’s none, but only when the vendors of both sides are aware of each other.
Anyways. I connected the mouse and renamed it to “Antranig’s Mouse”, now all I need is a cat. An hour later a friend asked me which model was the mouse. I had no idea, but I thought, hey, the original name of the BT device was the model name, right? Maybe I can check that.
Luckily, macOS logs everything, and I mean everything, so I used the log(1)
command to see what was the previous name.
Here’s the command to run and what the output looks like
log show --style compact --info --last 12h --predicate 'process == "bluetoothd" && subsystem == "com.apple.bluetooth”' | grep setName 2024-01-06 18:57:38.908 Df bluetoothd[375:8d0c1] [com.apple.bluetooth:CBStackController] setName: device 01903735-1591-7A71-C597-CE40C2ACB232, 'Dell Mouse MS5120W' -> 'Antranig's Mouse'
A simple explanation:
style compact
: log has styles of output, there’s thedefault
, which is long, and there’scompact
, which is short. You can also set it tojson
.info
: type if information, it can also bedefault
ordebug
.last
: time range, can be set tom
,h
,d
for minutes, hours or days.predicate
: a macOS predicate, for more information check Predicate Programming Guide.process
: a process, in this casebluetoothd
.subsystem
: a macOS subsystem, in this casecom.apple.bluetooth
. How did I know that? note sure, but my brains contains a lot of information.grep
: Unixgrep(1)
, because we party like its 1969.
I also don’t remember how I knew that I should look for setName
, but that’s life for you.
And of course, we get the output, the device was previously named Dell Mouse MS5120W
That’s all folks…