如何根据当前日期对日志文件进行分类?

时间:2018-01-22 12:01:33

标签: node.js

目前我有日志文件,我存储日志详细信息。但是我希望每天都存储这组细节,它应该自动生成新文件。

    module.exports.log = log4js.configure({
    appenders: { log-info: { type: 'file', filename: 'logs/info.text'}},
    categories: { default: { appenders: ['log-info'], level: 'info' } }
});

我浏览了一些东西,但我没有得到任何正确的必要信息。任何链接/建议,非常感谢。

1 个答案:

答案 0 :(得分:1)

我使用winston作为您的要求。 在根文件夹中创建logs目录并尝试使用此代码

var winston = require('winston');
var path = require('path');
let __base = path.resolve(__dirname, '..');
var logger = new (winston.Logger)({
    levels: {
        error: 0,
        warn: 1,
        info: 2,
        debug :4 
    },
    transports: [
        new (winston.transports.Console)({
            prettyPrint: true,
            colorize: true,
            timestamp: true
        }),
        new (winston.transports.File)({
            name: 'errorLogger',
            filename: `${__base}/logs/log-${new Date().toLocaleDateString().replace(/\//g, '-')}.log`,
            colorize: true,
            /**
             *
             *
             * @returns
             */
            timestamp: function () {
                return (new Date().toLocaleString())
            }
        })
    ],
    colors: {
        info: "green",
        error: "red",
        warn: "yellow",
        debug: "blue"
    }
});

logger.level = 'info';
logger.info('Hello');
module.exports = logger;

运行此代码后,您会在logs文件夹中看到生成Hello内容的文件。

您也可以将此文件导入其他文件,并使用logger.info打印并保存日志