Java 通用测井方法
这是一件好事吗;通过这样的方法登录Java 通用测井方法,java,design-patterns,Java,Design Patterns,这是一件好事吗;通过这样的方法登录 public static void log(final Object... messages) { logger.info(Joiner.on(',').useForNull("null").join(messages)); } //在代码的其他部分中,我们可以使用逗号而不是字符串连接来调用logger方法。请注意Joiner是番石榴类 log(" Check ",obja.getXXX(),anotherObject.getMethod());
public static void log(final Object... messages) {
logger.info(Joiner.on(',').useForNull("null").join(messages));
}
//在代码的其他部分中,我们可以使用逗号而不是字符串连接来调用logger方法。请注意Joiner是番石榴类
log(" Check ",obja.getXXX(),anotherObject.getMethod());
期望是干净的代码、方便性和性能 您可能希望加入
”
(空白)而不是逗号,但设计方法是一个好主意
就性能而言,这并不理想。创建一个附加的对象数组和一个连接件,以及连接件的内部缓冲区
所以你可以用这种方法得到三分之二。如果您真的关心性能,请使用已经使用类似方法的接口。我使用接口(带实现),我发现它更易于阅读
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Test {
private static final Logger logger = LoggerFactory.getLogger(Test.class);
public void method(String name, int age, Address address) {
logger.info("Person {}, age {} years old resides at {}", name, age, address);
}
}
正如其他答案所说,SLF4J的界面更好
我不明白这是一种性能改进。也许OP头脑中有一个特定的用例,一些示例代码可以解释它。如果想法是预先收集消息并将它们一起发送到日志方法调用,那么最好使用具有缓冲功能的appender。我将添加第二个参数,允许您指定日志的严重性。@adarshr我会在有机会时立即尝试SLF4J。泰。