Inconsistent indentation of long log statements
There seems to be an inconsistency in how long log statements are indented when they break across lines. See the example below. If there's a line break, I'd expect the output to be like the first snippet.
class Test {
void test() {
logger.atInfo().atInfo().atInfo().atInfo().atInfo().atInfo().atInfo().atInfo().atInfo().atInfo()
.log(
"123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890");
logger.atInfo().atInfo().atInfo().atInfo().atInfo().atInfo().atInfo().atInfo().atInfo().atInfo()
.atInfo().log(
"123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890");
}
}
Thanks for the report, I agree this is surprising.
There are some heuristics for formatting Flogger-style fluent log statements, and usually everything up to .log( fits on a single line.
There's a related internal bug b/112194879 where something similar happens with a long .withCause(...) call.
I was trying to reproduce this with a regular dot with prefix but no luck so far, only with logs.
I think that's expected, there's a very special case for formatting of log methods: https://github.com/google/google-java-format/blob/8a0e3b3d7cb2c4efeffe5610aa1146a85f0ffa10/core/src/main/java/com/google/googlejavaformat/java/JavaInputAstVisitor.java#L1622