It might be nice to buffer output a bit for interleaved tasks: If I have two concurrent running tasks (say a front-end build and back-end build, or front-end and back-end tests), and they are both running at high speed (say they're cached go tests), right now the logs will end up interleaved like AAA BBB AA BB AA BB with whitespace in between each task switch. Mentally parsing the logs is more difficult because you repeatedly have to context switch. Also, though the spacing is nice for reading, it ends up taking a lot of space than necessary. What if the printer waited a little bit (maybe 100ms, maybe somehow cleverly calculated from task runtime or previous logging behavior) after printing AAA, and if more logs came in, it would postpone outputting the B so you'd get AAAAAA BBBBB?
It might be nice to buffer output a bit for interleaved tasks: If I have two concurrent running tasks (say a front-end build and back-end build, or front-end and back-end tests), and they are both running at high speed (say they're cached go tests), right now the logs will end up interleaved like
AAA BBB AA BB AA BBwith whitespace in between each task switch. Mentally parsing the logs is more difficult because you repeatedly have to context switch. Also, though the spacing is nice for reading, it ends up taking a lot of space than necessary. What if the printer waited a little bit (maybe 100ms, maybe somehow cleverly calculated from task runtime or previous logging behavior) after printingAAA, and if more logs came in, it would postpone outputting theBso you'd getAAAAAA BBBBB?