In Node.js possiamo eseguire il logging degli errori su file.
Installiamo il modulo per le date:
npm install dateformat --save
Quindi definiamo la seguente funzione:
'use strict';
const log = (data, prefix = 'info') => {
const fs = require('fs');
const df = require('dateformat');
let now = new Date();
let fname = prefix + '_' + df(now, 'yyyy-mm-dd-HH-MM-ss') + '.json';
let logFile = fs.createWriteStream('./logs/' + fname);
logFile.write(JSON.stringify(data, null, 2));
logFile.end();
};
Usiamo la funzione in questo modo:
'use strict';
const app = require('express')();
const users = require('./models/users');
app.get('/users', async (req, res) => {
try {
let results = await users.find();
res.send(results);
} catch(err) {
log(err, 'error_find_users');
res.sendStatus(500);
}
});