@cloudquery/plugin-sdk-javascript
Version:
This is the high-level package to use for developing CloudQuery plugins in JavaScript
31 lines • 1.28 kB
JavaScript
import { createLogger as createWinstonLogger, format, transports } from 'winston';
import { fullFormat, shortFormat } from 'winston-error-format';
export var LogLevel;
(function (LogLevel) {
LogLevel["trace"] = "trace";
LogLevel["debug"] = "debug";
LogLevel["info"] = "info";
LogLevel["warn"] = "warn";
LogLevel["error"] = "error";
})(LogLevel || (LogLevel = {}));
export var LogFormat;
(function (LogFormat) {
LogFormat["json"] = "json";
LogFormat["text"] = "text";
})(LogFormat || (LogFormat = {}));
export const createLogger = (level, logFormat) => {
// Winston doesn't have a TRACE level, so we need to normalize it to DEBUG.
const normalizedLevel = level === LogLevel.trace ? LogLevel.debug : level;
const consoleFormat = format.printf(({ level, message, timestamp }) => {
return `[${timestamp}] ${level} ${message}`;
});
const logger = createWinstonLogger({
level: normalizedLevel,
format: logFormat == LogFormat.json
? format.combine(fullFormat(), format.timestamp(), format.json())
: format.combine(shortFormat(), format.timestamp(), format.colorize(), consoleFormat),
transports: [new transports.Console()],
});
return logger;
};
//# sourceMappingURL=logger.js.map