Well, that was fun. Lemme start with some disclaimers. It’s impossible to talk about logging at this level without discussing implementation details, that is, information about how the system works today but which isn’t considered API. This stuff has changed in the past and could easily change again in the future. Don’t build knowledge of this into a product that you ship to a wide range of users. Also, the limits imposed by the system log are not arbitrary. They represent a trade-off between convenience — when debugging problems that come in from the field, more logging is always better — and cost. There are three specific costs of concern: Logging consumes CPU cycles, which leaves less available for real computation and also takes energy. Persistent logging consumes I/O bandwidth and even more energy. Persistent logging can contribute to SSD wear. The system log is a shared resource and it’s important to Apple that it remain useful for debugging a wide range of problems. I touch on this in Your Friend the S
Topic:
App & System Services
SubTopic:
Core OS
Tags: