forever 日志 按日期输出

package.json --scripts

"for": "forever -p ./logs -l logfile.log -o ./logs/outfile.log -e ./logs/errfile.log -a -n --pidFile pidFile.log start app.js”,
"for:restart": "forever -p ./logs -l logfile.log -o ./logs/outfile.log -e ./logs/errfile.log -a -n --pidFile pidFile.log restart app.js”,

代码

const schedule = require('node-schedule')
const fs = require('fs')
const moment = require('moment’)

schedule.scheduleJob({
        hour:0,
        minute: 3,
    }, () => {
        const dir = moment().format('YYYY-MM-DD-HH-mm')
        console.log('日志更新了')
        fs.mkdir(`./logs/${dir}`, () => {
            ['outfile', 'logfile', 'errfile'].map(itm => {
                const readerStream = fs.createReadStream(`./logs/${itm}.log`);
                let data = '';
                readerStream.setEncoding('UTF8');
                readerStream.on('data', chunk=> data += chunk);
                readerStream.on('end', () => {
                    let writerStream = fs.createWriteStream(`./logs/${dir}/${itm}.log`);
                    writerStream.write(data, 'UTF8');
                    writerStream.end();
                    writerStream.on('finish', () => {
                        writerStream = fs.createWriteStream(`./logs/${itm}.log`);
                        writerStream.write('');
                        writerStream.end();
                    });
                });
            })
        })
    })

你可能感兴趣的:(nodejs)