Tag: winston

运行unit testing时禁用winston日志logging?

在执行节点模块的unit testing时,能否select禁用Winston日志? 理想情况下,我希望在应用程序运行时进行信息和debugging目的的日志logging,但是在运行我的testing时不要混乱显示unit testing结果。 我对winston的使用是在我的模块内部的,就像这样: // MyModule.js var logger = require('winston'); module.exports = function() { // does some stuff // and logs some stuff like so: logger.log('an informational message'); } // MyModuleTest.js describe('MyModule', fucntion() { it('should do some stuff', function() { var myModuleUnderTest = require('MyModule'); // some tests } }

摩卡与节点:只显示testing失败的日志logging

我使用摩卡和winston的节点。 有没有办法设置它,所以它只显示失败的testing日志?

无法将日志保存到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) […]

你如何在Winston的单一交通工具中添加多个层次?

一个人如何告诉温斯顿将多个层次logging到单个传输中? 例如,如果要将info和error级别项目都logging到控制台,您将如何完成此操作? 指定info不logging信息级别和更重要的所有级别,它只是logginginfo 。 将级数组传递给level属性什么也不做。 winston.add(winston.transports.Console, { colorize: true, level: 'info' }); 要么 winston.add(winstonMongo, { safe: false, db: 'logs', collection: 'api', level: 'info' });

如何logging在winston的JavaScript对象和数组作为console.log呢?

我正在查看顶级的节点日志logging系统: npmlog , log4js , bunyan和winston并决定使用winston的npm月度下载量最多。 我想要设置的是自定义logging器,我将可以在开发环境上使用logger.debug(…) ,它不会在生产环境中logging任何东西。 当我在开发环境中时,这将有助于我,因为我将看到所有的输出,所以我不需要写任何东西。 这是我现在所拥有的: var level = 'debug'; if (process.env.NODE_ENV !== 'development'){ level = 'production'; // this will never be logged! } var logger = new winston.Logger({ transports: [ // some other loggings new winston.transports.Console({ name: 'debug-console', level: level, prettyPrint: true, handleExceptions: true, json: false, colorize: true }) ], […]

温斯顿日志文件不能正常工作

我使用Winston进行日志logging: var winston = require('winston'); var logger = new(winston.Logger)({ transports: [ new(winston.transports.Console)(), new(winston.transports.File)({filename: '/var/log/logF.log'}) ] }); 我写这个日志: logger.log("File: " + path + " was found"); 出于某种原因,文件/var/log/logF.log不更新,并且标准输出不显示日志。 我如何使用它,所以日志将被写入'/var/log/logF.log'?

节点温斯顿不能支持多个文件传输?

我想在一个文件中显示错误日志,在另一个文件中显示所有日志。 为此,我编写了两个文件传输,在编译时出现以下错误: 'use strict'; var winston = require('winston'), config = require('./config'); var logger = new (winston.Logger)({ transports: [ new (winston.transports.Console)({level:'debug',handleExceptions: true,prettyPrint: true,silent:false,timestamp: true,colorize: true,json: false}), new (winston.transports.File)({ filename: './server/logs/bv_common.log',level:'debug',maxsize: 1024000,maxFiles: 10, handleExceptions: true,json: false}), new (winston.transports.File)({ filename: './server/logs/bv_error.log',level:'debug',maxsize: 1024000,maxFiles: 10, handleExceptions: true,json: false,level:'error'}) ] }); module.exports = logger; 结果: [ 'Error: Transport already attached: file',

Node.js随机抛出EIOexception

我正在使用node.js + socket.io + Winston(logger)写一个游戏服务器,而且我的服务器每天都会死,因为这个例外: Error: write EIO at errnoException (net.js:901:11) at Object.afterWrite (net.js:718:19) 我怀疑这可能是我使用温斯顿的方式。 我有server.js和room.js类,我需要温斯顿这个声明: var winston = require('winston'); 并在server.js我注册文件logging: winston.add(winston.transports.File, { filename: 'server.log' }); winston.handleExceptions(new winston.transports.File({ filename: 'errors.log' })) 在room.js我只需调用winston.info()方法即可。 难道是因为有很多room事情吗?

如何logging“catched”exception?

当winston处理未捕获的exception时,它会打印出未捕获的exception的一个很好的信息。我怎样才能对“捕获的exception”执行相同的操作? if (err) { // winston. log the catched exception } 我检查了源代码,似乎有一个logException方法,但我不知道如何使用它。 var logger = new winston.Logger({ transports: [new winston.transports.Console({handleExceptions: true})] }) var err = new Error('test error.') logger.logException(err.message) //no method 'logException'

Winston用Mongoose Docslogging

我最近刚刚切换到Winston进行日志logging,并注意到一个问题,当执行后loggingmongoose文档。 例: Model.find().exec(function (err, docs) { console.log(docs) // Prints the collection fine winston.info(docs) // Prints a ton on mongoose stuff, related to the query }); 所以,基本上我怎样才能得到winston日志logging打印相同的方式,你从console.log? 我猜它必须如何被序列化之前通过调用toJSON()logging。 我每次都必须手动调用.toJSON(),还是让别人做了其他的事情来自动完成这个工作?