Skip to content

Commit

Permalink
change default logger
Browse files Browse the repository at this point in the history
  • Loading branch information
hiroki0525 committed Nov 29, 2023
1 parent 20a526b commit 3173f4c
Show file tree
Hide file tree
Showing 4 changed files with 197 additions and 232 deletions.
3 changes: 1 addition & 2 deletions packages/libs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
"license": "MIT",
"dependencies": {
"dotenv": "^16.3.1",
"pino": "^8.16.2",
"pino-pretty": "^10.2.3"
"winston": "^3.11.0"
}
}
42 changes: 28 additions & 14 deletions packages/libs/src/__tests__/logger.test.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,36 @@
import { describe, expect, vi, it, beforeEach } from "vitest";
import { getLogger, setLogger } from "../logger";
import pino from "pino";
import { getLogger, getLogLevel, setLogger } from "../logger";
import { createLogger, format, transports } from "winston";

const defaultLogger = pino({
name: "dandori",
level: "debug",
transport: {
target: "pino-pretty",
options: {
colorize: true,
},
vi.mock("winston", () => ({
createLogger: vi.fn(),
format: {
combine: vi.fn(),
colorize: vi.fn(),
timestamp: vi.fn(),
splat: vi.fn(),
json: vi.fn(),
printf: vi.fn(),
},
transports: {
Console: vi.fn(),
},
});

vi.mock("pino", () => ({
default: vi.fn(),
}));

const defaultLogger = createLogger({
level: getLogLevel(),
format: format.combine(
format.colorize({ all: true }),
format.timestamp(),
format.splat(),
format.json(),
format.printf((info) => {
return `[${info.timestamp}] ${info.level} : ${info.message}`;
}),
),
transports: [new transports.Console()],
});

describe("logger", () => {
describe("use default logger", () => {
it("get default logger", () => {
Expand Down
28 changes: 15 additions & 13 deletions packages/libs/src/logger.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import pino from "pino";
import { createLogger, format, transports } from "winston";

export type Logger = {
debug: (...args: any[]) => void;
Expand All @@ -22,18 +22,20 @@ export const getLogLevel = (): LogLevel => {

export const getLogger = (): Logger => {
if (!logger) {
setLogger(
pino({
name: "dandori",
level: getLogLevel(),
transport: {
target: "pino-pretty",
options: {
colorize: true,
},
},
}),
);
const logger = createLogger({
level: getLogLevel(),
format: format.combine(
format.colorize({ all: true }),
format.timestamp(),
format.splat(),
format.json(),
format.printf((info) => {
return `[${info.timestamp}] ${info.level} : ${info.message}`;
}),
),
transports: [new transports.Console()],
});
setLogger(logger);
}
return logger;
};
Loading

0 comments on commit 3173f4c

Please sign in to comment.