When lldb-server is in platform mode and waiting for a connection, when it receives a connection it fork()'s and then runs an lldb-server/debugserver to respond to that connection. The amount of things done between a fork() and an exec() should be very small, but if there is a bug in lldb-server and you're trying to use logging to debug it, the fact that logging does not happen in the child process makes it challenging to understand what is going on.
The fact that the logging re-enablement in the child will only happen when done by hand makes me more comfortable with this.
Pavel, do you think you're the best person to talk to about this? I've tested this on darwin and on ubuntu and both exhibit the same behavior. e.g.
terminal1% ./a.out
terminal2% bin/lldb-server platform --verbose --log-channels 'lldb all:gdb-remote all' --server --listen '*:11110' -m 11120 -M 11250
terminal3% lldb
(lldb) pla sel remote-linux
(lldb) pla connect connect://localhost:11110
(lldb) pla pro att -n a.out
without this patch, the only logging you'll see is lldb-server waiting for a connection, receiving a connection, and that's about it.