我正在考虑:
一流的人
new sap.ushell.services.UserInfo().getId()
然后,针对每条日志消息
private static final Logger LOG = Logger.getLogger(MyClass.class.getName());
// A little lambda to streamline gated logging.
private static final BiConsumer<Level, Supplier<Object>> log =
( level, messageSupplier ) -> {
if ( LOG.isEnabledFor(level)) {
LOG.log(level, messageSupplier.get());
}
};
想法是不必每次都重复门逻辑(log.accept(Level.INFO, () -> "forcedResult = " + String.valueOf(forcedResult) +
"; destroying rule: " + rule.toString());
)。
我担心的是过度使用lambda和可能涉及的运行时开销。
这种方法会奏效还是会损害内存使用和/或性能?