Tag: logging

如何login到node.js的网页?

在node.js应用程序中有一个简单的方法来实时logging和显示HTML网页中的结果? 我必须为我的应用程序构build一个“监视器”,我想查看正在进行的格式化网页。 我可以用快递显示页面 app.use(express.static('monitor')); 但我不确定向其发送数据的最佳方式。

Morgan(node.js):使用自定义格式时的着色状态码(如'dev')

我正在使用摩根loginnode.js。 我喜欢预定格式模式'dev'中提供的状态代码着色。 我使用自定义格式。 如何获得与“dev”模式相同的颜色。 Per Morgan文档:dev格式如下:方法:url:status:response-time ms – :res [content-length] 当我用它时,它不会着色。 app.use(morgan(':method:url:status:response-time ms – :res [content-length]')); //不着色 但是当我使用预定义的“开发”它的颜色! app.use(摩根( 'dev的'));

PM2日志输出限制

我很高兴PM2如何格式化和输出日志 pm2 logs app 但目前它将日志截断为20个最后的条目: [PM2] [app]过程尾随20行 有没有办法改变限制,并以类似的方式输出它,但有1000行,例如?

使winstonlogging器variables可以访问所有文件

我正在写一个由许多节点js脚本组成的节点js工具。 为了logging,我正在使用winston。 但是我面临着一个问题。 首先,我创build了一个单独的JS文件,它具有创buildlogging器和清除logging器传输的function,它看起来如下所示: 'use strict'; var winston = require('winston'); var logger; function createLogger(service) { logger = new (winston.Logger)({ level: 'info', transports: [ new winston.transports.File( {filename: ('logs/' + service + '_error.log'), json: false}) ] }); return logger; } function clearLogger() { logger.clear() } module.exports = { createLogger: createLogger, clearLogger: clearLogger, logger: logger }; 让我们把上面的文件称为logger-handler.js。 现在,从A.js开始,我用一些服务名称来调用createLogger函数。 […]

温斯顿logging器附加“未定义”到每个日志条目

在基于node.js / express.js的应用程序中,winston日志框架(版本2.4.0)用于日志logging。 这工作正常,除了undefined附加到每个日志输出。 输出的types(string,对象,..)不会改变这种行为。 温斯顿是从这样的几个.js文件使用: const logger = require('winston') .. logger.info(`Handled request in ${Date.now() – start}ms.`); 上述日志语句的输出是: info: Handled request in 667ms.undefined 当logging器。{info | debug | ..}被replace为一个声明,以logging控制台的输出是预期的; 只是在最后连接的'undefined'被logging的语句。 可能是什么原因?

如何将bunyan日志loggingfunction绑定到ES6中的类function?

今天有一点烦恼,仍然有一个错误。 文档在这里。 最近的我是这样的: constructor(region, sslEnabled = true, logger = () => {}, errorLogger = () => {}) { if (region === undefined || !region) throw new Error("Initialization error: region is required"); this.log = () => {}; // these two lines might be unnecessary this.logError = () => {}; // this.log = logger.bind(this); this.logError = errorLogger.bind(this); […]

Heroku日志 – 打开错误消息中提到的日志

我正在将一个node.js应用程序部署到heroku(雪松堆栈) 我已经设置了这样的NODE_ENV: herokuconfiguration:添加NODE_ENV =生产 然后我做: git push heroku 但是,启动后(我有一个console.log生成第一个日志条目)应用程序崩溃。 我运行: heroku日志 并得到下面的错误。 我如何打开它所指的/app/log/production.log? app[web.1]: listening on port 32168 within production environment app[web.1]: app[web.1]: events.js:48 app[web.1]: throw arguments[1]; // Unhandled 'error' event app[web.1]: ^ app[web.1]: Error: ENOENT, open '/app/log/production.log' heroku[web.1]: Process exited with status 1 heroku[web.1]: State changed from starting to crashed

使用日志系统/模块/库的原因是什么?

我试图评估在node.js中使用像Winston这样的日志logging系统的原因,而不是写自己的日志logging方法。 看来日志库并不能提供太多的function。 某些日志logging系统(如log4j)具有日志logging层次结构,如果您login到abc,则会logging到ab和a(除非您有其他复杂的停止传播configuration)。 这种东西通常是矫枉过正的吗? 你需要什么情况? 我正在考虑写一个日志logging函数,将日志写入一个mongo数据库,然后我可以很容易地查询和search。 据推测,一个日志库可以做到这一点,但似乎使用一个库,从头开始编写它将是同样多的工作。 所以简而言之:使用测井系统有什么好处?

Node.js readStream结束大文件

我想在电子邮件通知中偶尔发送大型日志文件(> 100MB)的最后2KB。 现在,我正在尝试以下内容: var endLogBytes = fs.statSync(logFilePath).size; var endOfLogfile = fs.createReadStream(logFilePath, {start: endLogBytes-2000, end: endLogBytes – 1, autoClose: true, encoding: 'utf8'}); endOfLogfile.on('data', function(chunk) { sendEmailFunction(chunk); } 由于我刚刚重新启动,我的日志文件只有〜2MB,但随着他们变大,我想知道: 1)读取数据是否需要很长时间(节点是否遍历整个文件,直到它到达我想要的字节,或节点跳到我想要的字节?) 2)消耗多less内存? 3)内存空间何时释放? 如何释放内存空间?

使用带有节点js的mongodb来创build一个具有历史logging的聊天系统

试图与历史聊天,我与mongodb和节点js几个问题是清楚的:我可以保存一个新的消息在一个mongodb集合的代码部分: MongoClient.connect('mongodb://127.0.0.1:27017/gt-chat', function(err, db) { if(err) throw err; var collection = db.collection('gt-chat'); collection.insert({message:mess}, function(err, docs) { console.log("//////////////\r\n mess insertion :"+mess); collection.count(function(err, count) { console.log(format("count = %s", count)); }); }); 但我不能读从MongoDB 我试过的东西: MongoClient.connect('mongodb://127.0.0.1:27017/gt-chat', function(err, db) { if(err) throw err; var collection = db.collection('gt-chat'); console.log("Printing docs from Cursor Each") // Find all records. find() returns a cursor […]