what is the reason for the various strategies for logging? here `log` previous `println`?