Miscellaneous – using journalctl, assertions, and warnings
The modern framework for system initialization on Linux is considered to be systemd (although, by now, it's been in use on Linux for over a decade). It's a very powerful framework, although it does have its share of detractors as well. One thing you'll notice regarding systemd is that it's a pretty invasive system! On many (if not most) Linux distributions, besides providing a robust initialization framework (via service units, targets, and such), systemd takes over many activities, replacing their original counterparts, such as system logging, the udevd
userspace daemon service, network services startup/shutdown, core dump management, watchdog, and so on. Also, with systemd, apps can be carefully tuned to operate within specified system resource limits by leveraging the powerful kernel control groups (cgroups) framework.
Looking up system logs with journalctl
As our central topic is debugging...