我是node.js中的新手,想要在每天创建新的日志/调试文件,以便在其中打印console.log值,因为如果有一个文件,它会变得很大,也无法正常查看。
请给我建议我该怎么办?
任何正在运行的例子都会让我感激。
答案 0 :(得分:2)
任何程序的这种元素都称为“记录器”。 Logger可以轻松处理您的日志文件。
有很多用于记录服务器的实现
您可以找到npm
或github
甚至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。
使用npm install -g logrotate-stream
使用node app.js 2>&1 | logrotate-stream app.log --keep 5 --size '1m' --compress
<强>解释强>
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