1

这段代码有什么问题?

import java.io.ByteArrayOutputStream;
import java.nio.charset.StandardCharsets;
import java.util.logging.SimpleFormatter;
import java.util.logging.Logger;
import java.util.logging.StreamHandler;

Logger log = Logger.getLogger("foo");
log.setUseParentHandlers(false);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
log.addHandler(new StreamHandler(baos, new SimpleFormatter()));
log.info("test");
assert baos.toByteArray().length > 0;

它失败了,因为它baos是空的。为什么是空的?

4

1 回答 1

2

它需要冲洗

Handler handler = new StreamHandler(outputStream, new SimpleFormatter());
log.addHandler(handler);
log.info("test");
handler.flush();

现在是 44 字节

顺便说一句,喜欢这些书

于 2021-11-15T17:39:16.130 回答