There is probably a logging profile for whatever you are stuck on
Your logs show what your code did. They rarely show what the system decided, which is usually the part you need: why the scan discovered nothing, why the silent push never woke the app, why the region event arrived four minutes after the boundary. At the default log level most of that reasoning is never written down, so you are left inferring it from the outside.
Apple publishes a configuration profile for each of those subsystems on the Profiles and Logs page. Installing one raises the log level for that subsystem on the device, and its internal decisions then appear in Console and in any sysdiagnose you capture.
The list runs to well over a hundred entries and is easy to walk past. The ones that matter for the problems this site covers include Bluetooth, with a separate profile for each of iOS, macOS, watchOS, tvOS and visionOS; Location Services for iOS, macOS and watchOS; APNs; CoreNFC and SEC Frameworks; Accessory Setup Kit; Nearby Interaction; HealthKit; Background Networking; CFNetwork; and Network Diagnostics. Further down there are profiles for Battery Life, Memory Exception and HangTracer for slow UI, which are worth knowing about before you need them.
Two things decide whether this is useful or wasted effort.
Install the profile before you reproduce the problem. A sysdiagnose contains the log buffer as it was actually written, so a profile installed afterwards tells you nothing about what already happened. This is the most common reason a carefully collected sysdiagnose turns out to be worthless, and noticing costs you another full reproduction cycle.
Remove the profile when you are finished. They are verbose by design, and there is no reason to keep one running on a device you are no longer investigating.
One practical detail: the page used to live at developer.apple.com/bug-reporting/profiles-and-logs/, which still redirects. Older forum threads and support mail point at that address, so a dead-looking link is usually just the old one.