26 lines
635 B
JavaScript
26 lines
635 B
JavaScript
|
import winston from "winston";
|
||
|
|
||
|
export default function ({
|
||
|
service = "pubsub",
|
||
|
postfix = "",
|
||
|
level = "info",
|
||
|
} = {}) {
|
||
|
return winston.createLogger({
|
||
|
level,
|
||
|
format: winston.format.combine(
|
||
|
winston.format.colorize(),
|
||
|
winston.format.simple()
|
||
|
),
|
||
|
defaultMeta: { service: `${service}:${postfix}` },
|
||
|
transports: [new winston.transports.Console()],
|
||
|
});
|
||
|
}
|
||
|
|
||
|
//Gets logger's level from CLI input, defaults to 'info'
|
||
|
export function getLevel(num) {
|
||
|
const [logLevel] = Object.entries(winston.config.npm.levels)
|
||
|
.filter(([name, value]) => value === num)
|
||
|
.shift() || ["info"];
|
||
|
return logLevel;
|
||
|
}
|