28 lines
818 B
JavaScript
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,
|
|
};
|