Skip to content

Commit f194b3b

Browse files
authored
Merge pull request #4 from macropygia/feature/fix-console-logger
Fix wrong operator in `consoleLogger`
2 parents fcb188f + c97fc53 commit f194b3b

8 files changed

+125
-17
lines changed

.github/workflows/checks-pr.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ defaults:
2424
shell: bash
2525

2626
jobs:
27-
build:
27+
checks:
2828
runs-on: ubuntu-latest
2929
steps:
3030
- uses: actions/checkout@v4

.github/workflows/docs.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
workflow_dispatch:
55

66
jobs:
7-
docs:
7+
deploy_docs:
88
permissions:
99
contents: read
1010
pages: write

.github/workflows/publish-dry-run.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ permissions:
1111
contents: write
1212

1313
jobs:
14-
build:
14+
publish_dry_run:
1515
runs-on: ubuntu-latest
1616
steps:
1717
- uses: actions/checkout@v4

.github/workflows/publish.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ permissions:
1212
contents: write
1313

1414
jobs:
15-
build:
15+
publish:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- uses: actions/checkout@v4
@@ -55,8 +55,8 @@ jobs:
5555
with:
5656
path: ./docs
5757

58-
deploy:
59-
needs: build
58+
deploy_docs:
59+
needs: publish
6060
permissions:
6161
pages: write
6262
id-token: write

.github/workflows/release-drafter-sync-manual.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ permissions:
1111
contents: read
1212

1313
jobs:
14-
version_sync:
14+
update_release_draft_and_version_sync:
1515
env:
1616
BLANCH: main
1717
CURRENT_VERSION: null

.github/workflows/release-drafter-sync-push.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ permissions:
1313
contents: read
1414

1515
jobs:
16-
version_sync:
16+
update_release_draft_and_version_sync:
1717
env:
1818
BLANCH: main
1919
CURRENT_VERSION: null

loggers/consoleLogger.test.ts

+107
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
import {
2+
type Mock,
3+
afterEach,
4+
beforeEach,
5+
describe,
6+
expect,
7+
spyOn,
8+
test,
9+
} from "bun:test";
10+
import { consoleLogger } from "./consoleLogger";
11+
12+
describe("consoleLogger", () => {
13+
let logDebug: Mock<() => void>;
14+
let logInfo: Mock<() => void>;
15+
let logWarn: Mock<() => void>;
16+
let logError: Mock<() => void>;
17+
18+
beforeEach(() => {
19+
logDebug = spyOn(console, "debug").mockImplementation(() => undefined);
20+
logInfo = spyOn(console, "info").mockImplementation(() => undefined);
21+
logWarn = spyOn(console, "warn").mockImplementation(() => undefined);
22+
logError = spyOn(console, "error").mockImplementation(() => undefined);
23+
});
24+
25+
afterEach(() => {
26+
logDebug.mockRestore();
27+
logInfo.mockRestore();
28+
logWarn.mockRestore();
29+
logError.mockRestore();
30+
});
31+
32+
test("default", () => {
33+
const logger = consoleLogger();
34+
35+
logger.silent("test"); // Not called
36+
logger.trace("test"); // Called
37+
logger.debug("test"); // Called
38+
expect(logDebug).toHaveBeenCalledTimes(2);
39+
40+
logger.info("test"); // Called
41+
expect(logInfo).toHaveBeenCalledTimes(1);
42+
43+
logger.warn("test"); // Called
44+
expect(logWarn).toHaveBeenCalledTimes(1);
45+
46+
logger.error("test"); // Called
47+
logger.fatal("test"); // Called
48+
expect(logError).toHaveBeenCalledTimes(2);
49+
});
50+
51+
test("info", () => {
52+
const logger = consoleLogger("info");
53+
54+
logger.silent("test"); // Not called
55+
logger.trace("test"); // Not called
56+
logger.debug("test"); // Not called
57+
expect(logDebug).toHaveBeenCalledTimes(0);
58+
59+
logger.info("test"); // Called
60+
expect(logInfo).toHaveBeenCalledTimes(1);
61+
62+
logger.warn("test"); // Called
63+
expect(logWarn).toHaveBeenCalledTimes(1);
64+
65+
logger.error("test"); // Called
66+
logger.fatal("test"); // Called
67+
expect(logError).toHaveBeenCalledTimes(2);
68+
});
69+
70+
test("silent", () => {
71+
const logger = consoleLogger("silent");
72+
73+
logger.silent("test"); // Called
74+
logger.trace("test"); // Called
75+
logger.debug("test"); // Called
76+
expect(logDebug).toHaveBeenCalledTimes(3);
77+
78+
logger.info("test"); // Called
79+
expect(logInfo).toHaveBeenCalledTimes(1);
80+
81+
logger.warn("test"); // Called
82+
expect(logWarn).toHaveBeenCalledTimes(1);
83+
84+
logger.error("test"); // Called
85+
logger.fatal("test"); // Called
86+
expect(logError).toHaveBeenCalledTimes(2);
87+
});
88+
89+
test("error", () => {
90+
const logger = consoleLogger("error");
91+
92+
logger.silent("test"); // Not called
93+
logger.trace("test"); // Not called
94+
logger.debug("test"); // Not called
95+
expect(logDebug).toHaveBeenCalledTimes(0);
96+
97+
logger.info("test"); // Not called
98+
expect(logInfo).toHaveBeenCalledTimes(0);
99+
100+
logger.warn("test"); // Not called
101+
expect(logWarn).toHaveBeenCalledTimes(0);
102+
103+
logger.error("test"); // Called
104+
logger.fatal("test"); // Called
105+
expect(logError).toHaveBeenCalledTimes(2);
106+
});
107+
});

loggers/consoleLogger.ts

+10-9
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,27 @@ import type { LevelWithSilent } from "pino";
33

44
/**
55
* Console logger
6+
* - `silent` is displayed only when the `level` is set to `silent`
67
* @param level - Minimum level to be displayed
78
* @returns Logger (console)
89
*/
910
export const consoleLogger = (
1011
level?: keyof typeof levels,
1112
): OIDCClientLogger => ({
12-
silent: levels[level || "trace"] >= 99 ? console.debug : () => undefined,
13-
trace: levels[level || "trace"] >= 10 ? console.debug : () => undefined,
14-
debug: levels[level || "trace"] >= 20 ? console.debug : () => undefined,
15-
info: levels[level || "trace"] >= 30 ? console.info : () => undefined,
16-
warn: levels[level || "trace"] >= 40 ? console.warn : () => undefined,
17-
error: levels[level || "trace"] >= 50 ? console.error : () => undefined,
18-
fatal: levels[level || "trace"] >= 60 ? console.error : () => undefined,
13+
silent: levels[level || "trace"] === 0 ? console.debug : () => undefined,
14+
trace: levels[level || "trace"] <= 10 ? console.debug : () => undefined,
15+
debug: levels[level || "trace"] <= 20 ? console.debug : () => undefined,
16+
info: levels[level || "trace"] <= 30 ? console.info : () => undefined,
17+
warn: levels[level || "trace"] <= 40 ? console.warn : () => undefined,
18+
error: levels[level || "trace"] <= 50 ? console.error : () => undefined,
19+
fatal: levels[level || "trace"] <= 60 ? console.error : () => undefined,
1920
});
2021

2122
const levels: Record<LevelWithSilent, number> = {
22-
silent: 99,
23+
silent: 0,
2324
fatal: 60,
2425
error: 50,
25-
warn: 50,
26+
warn: 40,
2627
info: 30,
2728
debug: 20,
2829
trace: 10,

0 commit comments

Comments
 (0)