All files / src/utils logHandler.ts

0% Statements 0/3
100% Branches 0/0
0% Functions 0/1
0% Lines 0/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32                                                               
/**
 * @copyright nhcarrigan
 * @license Naomi's Public License
 * @author Naomi Carrigan
 */
import { createLogger, format, transports, config } from "winston";
 
const { combine, timestamp, colorize, printf } = format;
 
/**
 * Standard log handler, using winston to wrap and format
 * messages. Call with `logHandler.log(level, message)`.
 * @param {string} level - The log level to use.
 * @param {string} message - The message to log.
 */
export const logHandler = createLogger({
  exitOnError: false,
  format:      combine(
    timestamp({
      format: "YYYY-MM-DD HH:mm:ss",
    }),
    colorize(),
    printf((info) => {
      // eslint-disable-next-line @typescript-eslint/restrict-template-expressions -- Winston properties...
      return `${info.level}: ${info.timestamp}: ${info.message}`;
    }),
  ),
  level:      "silly",
  levels:     config.npm.levels,
  transports: [ new transports.Console() ],
});