logs events to a file

PHOTO EMBED

Mon Nov 20 2023 19:45:02 GMT+0000 (Coordinated Universal Time)

Saved by @fastoch #nodejs

const { format } = require('date-fns');
const { v4: uuid } = require('uuid'); // import version 4 as uuid

const fs = require('fs');
const fsPromises = require('fs').promises;
const path = require('path');

const logEvents = async (message, logName) => {
  const dateTime = `${format(new Date(), 'yyyyMMdd\tHH:mm:ss')}`;
  const logItem = `${dateTime}\t${uuid()}\t${message}\n`;
  console.log(logItem);
  try {
    if (!fs.existsSync(path.join(__dirname, 'logs'))) {
      await fsPromises.mkdir(path.join(__dirname, 'logs'));
    } // if the logs folder does not exist, create it
    await fsPromises.appendFile(path.join(__dirname, 'logs', logName), logItem); 
  } catch (err) {
    console.error(err);
  }
}

module.exports = logEvents;
content_copyCOPY

Chapter 5 - Dave Gray's Node tutorial Works with event emitter implemented in server.js

https://youtu.be/f2EqECiTBL8