feat(core-shared): add ILogger interface + NoopLogger
This commit is contained in:
34
packages/core-shared/src/instrumentation/noop-logger.test.ts
Normal file
34
packages/core-shared/src/instrumentation/noop-logger.test.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import { describe, it, expect } from "vitest";
|
||||
import { NoopLogger } from "@/instrumentation/noop-logger";
|
||||
|
||||
describe("NoopLogger", () => {
|
||||
it("captureException is callable with err and ctx", () => {
|
||||
const logger = new NoopLogger();
|
||||
expect(() => logger.captureException(new Error("x"))).not.toThrow();
|
||||
expect(() =>
|
||||
logger.captureException(new Error("x"), { tags: { feature: "blog" } }),
|
||||
).not.toThrow();
|
||||
});
|
||||
|
||||
it("captureMessage is callable", () => {
|
||||
const logger = new NoopLogger();
|
||||
expect(() => logger.captureMessage("hello")).not.toThrow();
|
||||
expect(() => logger.captureMessage("hello", "warning")).not.toThrow();
|
||||
expect(() =>
|
||||
logger.captureMessage("hello", "error", { extras: { foo: 1 } }),
|
||||
).not.toThrow();
|
||||
});
|
||||
|
||||
it("addBreadcrumb is callable", () => {
|
||||
const logger = new NoopLogger();
|
||||
expect(() =>
|
||||
logger.addBreadcrumb({ category: "test", message: "x" }),
|
||||
).not.toThrow();
|
||||
});
|
||||
|
||||
it("setUser accepts opaque id and null", () => {
|
||||
const logger = new NoopLogger();
|
||||
expect(() => logger.setUser({ id: "u1" })).not.toThrow();
|
||||
expect(() => logger.setUser(null)).not.toThrow();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user