feat: add buffer max to buffer appender

This commit is contained in:
2026-05-06 17:41:00 -04:00
committed by Jonathan Bernard
parent 70233cc941
commit ebcd7880fb
3 changed files with 41 additions and 1 deletions
+30
View File
@@ -39,6 +39,36 @@ describe("BufferLogAppender", () => {
expect(appender.buffer[1].msg).toBe("second");
});
test("defaults to an unbounded buffer", () => {
const appender = new BufferLogAppender();
appender.appendMessage(makeMsg({ msg: "first" }));
appender.appendMessage(makeMsg({ msg: "second" }));
appender.appendMessage(makeMsg({ msg: "third" }));
expect(appender.buffer.length).toBe(3);
expect(appender.buffer.map((message) => message.msg)).toEqual([
"first",
"second",
"third",
]);
});
test("trims oldest messages when bufferMax is exceeded", () => {
const appender = new BufferLogAppender();
appender.bufferMax = 2;
appender.appendMessage(makeMsg({ msg: "first" }));
appender.appendMessage(makeMsg({ msg: "second" }));
appender.appendMessage(makeMsg({ msg: "third" }));
expect(appender.buffer.length).toBe(2);
expect(appender.buffer.map((message) => message.msg)).toEqual([
"second",
"third",
]);
});
test("respects threshold", () => {
const appender = new BufferLogAppender(undefined, LogLevel.WARN);