mirror of
https://github.com/status-im/codimd.git
synced 2025-02-11 13:16:29 +00:00
47 lines
952 B
TypeScript
47 lines
952 B
TypeScript
import {createLogger, format, transports, Logger} from "winston";
|
|
|
|
type CodiMDLogger = Logger & {
|
|
stream: any
|
|
setLevel?: (string) => void
|
|
}
|
|
|
|
let defaultFormatter = format.combine(
|
|
format.timestamp(),
|
|
format.splat(),
|
|
format.json()
|
|
)
|
|
if (process.env.NODE_ENV === 'development' || !process.env.NODE_ENV) {
|
|
defaultFormatter = format.combine(
|
|
format.timestamp(),
|
|
format.align(),
|
|
format.splat(),
|
|
format.prettyPrint(),
|
|
format.colorize(),
|
|
format.errors({stack: true}),
|
|
format.printf(info => `${info.timestamp} ${info.level}: ${info.message}`)
|
|
)
|
|
}
|
|
|
|
const logger: CodiMDLogger = createLogger({
|
|
level: 'debug',
|
|
format: defaultFormatter,
|
|
transports: [
|
|
new transports.Console({
|
|
handleExceptions: true
|
|
})
|
|
],
|
|
exitOnError: false
|
|
})
|
|
|
|
logger.stream = {
|
|
write: function (message, encoding) {
|
|
logger.info(message)
|
|
}
|
|
}
|
|
|
|
logger.setLevel = function (level) {
|
|
logger.level = level
|
|
}
|
|
|
|
export = logger
|