-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlogger.mjs
More file actions
25 lines (25 loc) · 822 Bytes
/
logger.mjs
File metadata and controls
25 lines (25 loc) · 822 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { promises as fs } from "fs";
import moment from "moment";
//Create logger logging to path LOG_FILE
const LOG_FILE = './log.txt';
const logger = {
log_file: LOG_FILE,
async log(msg) {
let date = new Date();
let curr_dt = moment(date).format("MM-DD HH:mm:ss (YYYY)");
let log_str = `${curr_dt} - ${msg}\n`;
await fs.appendFile(this.log_file, log_str);
},
async start() {
try { await fs.rm(LOG_FILE); } //Refreshes log on startup
catch (err) {
if (err.code === "ENOENT") {} //No file at path LOG_FILE
else { throw err }
}
this.log("Logger started");
}
}
//Start/restart logger when first required
//await logger.start(); - logger.start() should be called mannually now by the file that needs to start it (only server.mjs!)
//Export logger
export default logger;