Node.js: eseguire il logging degli errori su file

Node.js: eseguire il logging degli errori su file

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);
    }
});

Torna su