ts-common/src/log/index.ts

44 lines
1.4 KiB
TypeScript

import chalk from "chalk"
import { formatDate } from "../date"
import Logger from "./writter"
let logger = Logger.getProvider()
const prefixColor = (
prefix: string,
message?: any,
color: string = "green"
) => {
const timestamp = formatDate(new Date())
if (Logger.isEnabled()) {
return `[${timestamp}] - ${prefix}: ${message}`
}
const firstStep = chalk`[${timestamp}] - {${color} ${prefix}}:`
return `${firstStep} ${message}`
}
export const debug = (message?: any, ...args: any[]) => {
const msg = prefixColor("DEBUG", message, "magentaBright")
args.length === 0 ? logger.log(msg) : logger.log(msg, ...args)
}
export const error = (message?: any, ...args: any[]) => {
const msg = prefixColor("ERROR", message, "red")
args.length === 0 ? logger.error(msg) : logger.error(msg, ...args)
}
export const warn = (message?: any, ...args: any[]) => {
const msg = prefixColor("WARN", message, "yellow")
args.length === 0 ? logger.warn(msg) : logger.warn(msg, ...args)
}
export const info = (message?: any, ...args: any[]) => {
const msg = prefixColor("INFO", message, "cyan")
args.length === 0 ? logger.info(msg) : logger.info(msg, ...args)
}
export const success = (message?: any, ...args: any[]) => {
const msg = prefixColor("SUCCESS", message)
args.length === 0 ? logger.info(msg) : logger.info(msg, ...args)
}