@coko/server
Version:
Reusable server for use by Coko's projects
53 lines • 1.57 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const pino_1 = __importDefault(require("pino"));
const pino_pretty_1 = __importDefault(require("pino-pretty"));
const env_1 = require("../utils/env");
let logger;
if ((0, env_1.env)('NODE_ENV') === 'production') {
logger = (0, pino_1.default)({
formatters: {
level: label => {
return { level: label.toUpperCase() };
},
},
timestamp: pino_1.default.stdTimeFunctions.isoTime,
});
}
else {
logger = (0, pino_1.default)((0, pino_pretty_1.default)({
sync: true,
}));
}
/**
* Do not use config here, as config itself imports the logger, creating a
* circular dependency.
*/
const isTest = (0, env_1.env)('NODE_ENV') === 'test';
const suppress = isTest && (0, env_1.env)('SUPPRESS_LOGGER_IN_TEST_ENV', { type: 'boolean' });
exports.default = {
error: (...args) => {
if (suppress)
return;
logger.error(args[0], ...args.slice(1));
},
warn: (...args) => {
if (suppress)
return;
logger.warn(args[0], ...args.slice(1));
},
info: (...args) => {
if (suppress)
return;
logger.info(args[0], ...args.slice(1));
},
debug: (...args) => {
if (suppress)
return;
logger.debug(args[0], ...args.slice(1));
},
};
//# sourceMappingURL=index.js.map