feat(logger): add explicit Sentry event channel
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful

This commit is contained in:
2026-08-05 13:05:06 -03:00
parent 0ccb7f911d
commit 44f471653e
7 changed files with 66 additions and 10 deletions
+4 -1
View File
@@ -3,7 +3,7 @@ import { createLogger } from "../src/index.js";
import { createSentrySink } from "../src/sentry.js";
describe("createSentrySink", () => {
it("captures errors with namespace and structured context, but ignores warnings", () => {
it("captures errors and explicitly selected events with namespace and structured context", () => {
const scope = { setLevel: vi.fn(), setTag: vi.fn(), setExtras: vi.fn() };
const sentry = {
withScope: (callback: (value: typeof scope) => void) => callback(scope),
@@ -17,8 +17,11 @@ describe("createSentrySink", () => {
});
const error = new Error("offline");
logger.warn("ignored");
logger.sentry.info("Cache warmed");
logger.error("Request failed", error, { requestId: "req_1" });
expect(sentry.captureMessage).toHaveBeenCalledWith("Cache warmed", "info");
expect(sentry.captureException).toHaveBeenCalledWith(error);
expect(scope.setLevel).toHaveBeenCalledWith("info");
expect(scope.setTag).toHaveBeenCalledWith("logger.namespace", "API");
expect(scope.setExtras).toHaveBeenCalledWith({ context_0: { requestId: "req_1" } });
});