Intelligently choosing when and where to log by considering possible paths through basic blocks: https://blog.acolyer.org/2017/11/03/log20-fully-automated-optimal-placement-of-log-printing-statements-under-specified-overhead-threshold/ (Improves both runtime performance and debuggability!)