Articles of 日志

无法将日志保存到winston-nodejs的mongodb数据库

我正在使用winston库: https : //github.com/flatiron/winston尝试将数据存储到mongodb数据库: https : //github.com/indexzero/winston-mongodb 插入我使用的数据: var MongoDB = require('winston-mongodb').MongoDB; var logger = new (winston.Logger)({ transports: [ new (winston.transports.Console)(), new (winston.transports.MongoDB)({ host: ip, db: 'caribcultivate', collection: 'log', level: 'info'}) ], exceptionHandlers: [ new winston.transports.Console() ] }); logger.log('info', "Running logs "+ d); logger.info("Drive: "+ (new Date(d)).toDateString()); 但是,当我尝试查询数据使用: winston.query(options, function (err, results) { if (err) […]

温斯顿的日志stream如何工作?

Winston文档有一个关于stream式日志的部分,它说: stream式传输允许您从您select的传输中将日志stream式传回。 并给出以下代码示例: // // Start at the end. // winston.stream({ start: -1 }).on('log', function(log) { console.log(log); }); 我读到这一点是,每个新的日志消息添加将被输出到控制台。 {start: -1}configuration指示stream在文件结尾处开始,因此只有新的日志条目被输出。 我期望下面的Node脚本会导致test.log文件的每一行都输出到控制台,然后每隔500ms输出一个新的对象。 var winston = require('winston'); winston.add(winston.transports.File, { filename: 'test.log' }); winston.remove(winston.transports.Console); winston.stream().on('log', function(log) { console.log(log); }); setInterval(function(){ winston.log('info', 'help'); }, 500); 我希望看到像下面的输出: {"level":"info","message":"help","timestamp":"2013-12-10T05:55:15.806Z"} {"level":"info","message":"help","timestamp":"2013-12-10T05:55:16.307Z"} {"level":"info","message":"help","timestamp":"2013-12-10T05:55:16.809Z"} {"level":"info","message":"help","timestamp":"2013-12-10T05:55:17.309Z"} {"level":"info","message":"help","timestamp":"2013-12-10T05:56:48.316Z"} 实际上发生的事情是,日志工作与File传输一样(该文件每500毫秒获取一个新的日志条目),但没有输出到控制台。 console.log(log)行永远不会被调用。 我错过了一些明显的东西,或者误解了Winston的日志stream的目的?

永远的日志和logrotate

我永远使用启动我的nodeJs服务器,我select日志文件: 永远-l /home/api/log/api_output.log启动server.js 我使用logrotate每天移动日志文件(比如build议这里: NodeJS / Forever归档日志 ),有一天我的目录是这样的: -rw-r – r– 1 root root 0 avril 18 12:00 api_output.log -rw-r – r – 1 root root 95492 avril 18 12:01 api_output.log-20140418 所以,轮换正在工作,但日志消息现在写入api_output.log-20140418,而不是api_output.log 也许有人可以帮助我?