wa-dev-tools/lib/logger.js

28 lines
818 B
JavaScript

const fs = require('fs');
const path = require('path');
const pino = require('pino');
const LOG_FILE = path.join(__dirname, '..', 'compress.log');
const logger = pino({
level: process.env.LOG_LEVEL || 'info',
transport: process.env.NODE_ENV !== 'production' ? {
target: 'pino/file',
options: { destination: 1 },
} : undefined,
});
function logToFile(text) {
const ts = new Date().toISOString();
fs.appendFile(LOG_FILE, `[${ts}] ${text}\n`, () => {});
}
module.exports = {
info: (msg, meta) => meta ? logger.info(meta, msg) : logger.info(msg),
warn: (msg, meta) => meta ? logger.warn(meta, msg) : logger.warn(msg),
error: (msg, meta) => meta ? logger.error(meta, msg) : logger.error(msg),
debug: (msg, meta) => meta ? logger.debug(meta, msg) : logger.debug(msg),
logToFile,
logger,
};