kowalski/logger.js

42 lines
1.1 KiB
JavaScript
Raw Normal View History

2024-06-02 01:38:25 -03:00
const fs = require('fs');
const util = require('util');
const logFile = 'log.txt';
const logStream = fs.createWriteStream(logFile, { flags: 'a' });
const getFormattedDate = () => {
2024-06-02 14:24:03 +00:00
const date = new Date();
const year = date.getFullYear();
const month = ('0' + (date.getMonth() + 1)).slice(-2);
const day = ('0' + date.getDate()).slice(-2);
const hours = ('0' + date.getHours()).slice(-2);
const minutes = ('0' + date.getMinutes()).slice(-2);
const seconds = ('0' + date.getSeconds()).slice(-2);
return `[${year}-${month}-${day} ${hours}:${minutes}:${seconds}]`;
2024-06-02 01:38:25 -03:00
};
const logMessage = async (message) => {
2024-06-02 14:24:03 +00:00
const timestamp = getFormattedDate();
const formattedMessage = `${timestamp} ${util.format(message)}`;
process.stdout.write(formattedMessage + '\n');
return new Promise((resolve, reject) => {
logStream.write(formattedMessage + '\n', (err) => {
if (err) {
reject(err);
} else {
resolve();
}
2024-06-02 01:38:25 -03:00
});
2024-06-02 14:24:03 +00:00
});
2024-06-02 01:38:25 -03:00
};
console.log = (message) => {
2024-06-02 14:24:03 +00:00
logMessage(message).catch(err => {
process.stderr.write(`WARN: Error writing to log: ${err}\n`);
});
2024-06-02 01:38:25 -03:00
};
module.exports = logMessage;