如何每天创建一个新日志

时间:2016-09-27 13:49:57

标签: javascript node.js

我是node.js中的新手,想要在每天创建新的日志/调试文件,以便在其中打印console.log值,因为如果有一个文件,它会变得很大,也无法正常查看。

请给我建议我该怎么办?

任何正在运行的例子都会让我感激。

2 个答案:

答案 0 :(得分:2)

任何程序的这种元素都称为“记录器”。 Logger可以轻松处理您的日志文件。

有很多用于记录服务器的实现

您可以找到npmgithub甚至Google中的任何记录器;)

例如npm install winston

https://github.com/winstonjs/winston

  var winston = require('winston');

  winston.log('info', 'Hello distributed log files!');
  winston.info('Hello again distributed logs');

  winston.level = 'debug';
  winston.log('debug', 'Now my debug messages are written to console!');

答案 1 :(得分:0)

我建议根据日志文件的大小轮换日志,使用下面给出的大小。

您可以使用logrotate-stream

  1. 使用npm install -g logrotate-stream

  2. 全局安装
  3. 使用node app.js 2>&1 | logrotate-stream app.log --keep 5 --size '1m' --compress

  4. 运行您的服务器

    <强>解释

    2>&1将stderr发送到stdout(detail about 2>&1

    |管道输出(这里是stderr和stdout)到下一个命令作为输入(这里是logrotate-stream

    app.log日志文件名

    --keep 5要保留的最大文件数

    --size 1m每个文件的最大大小(以mb为单位) --compmress压缩文件

    日志文件将如下所示

    app.log
    app.log.0.gz
    app.log.1.gz
    app.log.2.gz
    app.log.3.gz
    app.log.4.gz