通用记录方法

r0a*_*t3d 5 java design-patterns

这是一件好事; 通过这样的方法记录?

public static void log(final Object... messages) {
    logger.info(Joiner.on(',').useForNull("null").join(messages));
}
Run Code Online (Sandbox Code Playgroud)

//在代码的其他部分,我们可以使用逗号而不是字符串连接来调用logger方法.请注意Joiner是番石榴类.

log(" Check ",obja.getXXX(),anotherObject.getMethod());
Run Code Online (Sandbox Code Playgroud)

期望是干净的代码,方便和性能.

Aar*_*lla 2

您可能想要加入' '(空白)而不是逗号,但设计方法是个好主意。

就性能而言,它并不理想。您创建一个附加对象数组和一个连接器以及连接器的内部缓冲区。

所以用这种方法你只能得到 3 中的 2。如果您真的关心性能,请使用slf4j,它已经使用了类似的方法。