IMHO it is easier to read/maintain code with concatenation of strings

In the background (+) is realized with StringBuilder(or StringBuffer) and arguments in Logger are also resolved with use of StringBuffer + indexOf + substrings to find placeholders. So I don't see difference