In any Java EE application, there are probably several applications running in the same JVM. There is only one System.out . If several applications try to write to System.out at the same time, this can cause an output conflict and can theoretically affect performance.
In addition, although this is not necessarily related to performance, it makes the output very dirty and difficult to read, especially if several applications write the output at the same time, without any indication as to which application the output is going to. (The same is true for multiple simultaneous requests within the same application.)
As you mentioned, using the right logging structure will fix both of these problems.
source share