Files
Moltbot/src/logging/subsystem.test.ts
Glucksberg 9bd2ccb017 feat: add pre-prompt context size diagnostic logging (openclaw#8930) thanks @Glucksberg
Verified:
- pnpm build
- pnpm check
- pnpm test

Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com>
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-02-13 17:54:22 -06:00

57 lines
2.1 KiB
TypeScript

import { afterEach, describe, expect, it } from "vitest";
import { setConsoleSubsystemFilter } from "./console.js";
import { resetLogger, setLoggerOverride } from "./logger.js";
import { createSubsystemLogger } from "./subsystem.js";
afterEach(() => {
setConsoleSubsystemFilter(null);
setLoggerOverride(null);
resetLogger();
});
describe("createSubsystemLogger().isEnabled", () => {
it("returns true for any/file when only file logging would emit", () => {
setLoggerOverride({ level: "debug", consoleLevel: "silent" });
const log = createSubsystemLogger("agent/embedded");
expect(log.isEnabled("debug")).toBe(true);
expect(log.isEnabled("debug", "file")).toBe(true);
expect(log.isEnabled("debug", "console")).toBe(false);
});
it("returns true for any/console when only console logging would emit", () => {
setLoggerOverride({ level: "silent", consoleLevel: "debug" });
const log = createSubsystemLogger("agent/embedded");
expect(log.isEnabled("debug")).toBe(true);
expect(log.isEnabled("debug", "console")).toBe(true);
expect(log.isEnabled("debug", "file")).toBe(false);
});
it("returns false when neither console nor file logging would emit", () => {
setLoggerOverride({ level: "silent", consoleLevel: "silent" });
const log = createSubsystemLogger("agent/embedded");
expect(log.isEnabled("debug")).toBe(false);
expect(log.isEnabled("debug", "console")).toBe(false);
expect(log.isEnabled("debug", "file")).toBe(false);
});
it("honors console subsystem filters for console target", () => {
setLoggerOverride({ level: "silent", consoleLevel: "info" });
setConsoleSubsystemFilter(["gateway"]);
const log = createSubsystemLogger("agent/embedded");
expect(log.isEnabled("info", "console")).toBe(false);
});
it("does not apply console subsystem filters to file target", () => {
setLoggerOverride({ level: "info", consoleLevel: "silent" });
setConsoleSubsystemFilter(["gateway"]);
const log = createSubsystemLogger("agent/embedded");
expect(log.isEnabled("info", "file")).toBe(true);
expect(log.isEnabled("info")).toBe(true);
});
});