- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我当前正在启动集群应用程序,但日志记录似乎没有输出。我正在使用 winston 的外部引用,以便我可以在我创建的任何 Node 中应用类似的日志,但即使是基本的控制台传输也无法正常工作。如果我用系统“console.log”调用替换winston 调用,输出就可以正常工作。不知道我哪里出了问题:
记录器.js
var winston = require('winston'),
logger,
customLevels = {workr: 0, info: 1, debug: 2, error: 3};
winston.emitErrs = true;
logger = new winston.Logger({levels: customLevels, exitOnError: false});
logger.enableConsole = function () {
logger.add (winston.transports.Console, {
name: 'console',
formatter: function (options) {
return options.level.toUpperCase() + ' - ' + options.message;
}
});
};
//I am omitting a file transport here
module.exports = logger;
module.exports.stream = {
write: function(message, encoding){
logger.info(message);
}
};
集群.js
var cluster = require('cluster'),
logger = require('./logger'),
maxJobs = Math.floor(require('os').cpus().length / 2),
activeJobs = 0;
if (cluster.isMaster) {
logger.enableConsole();
cluster.setupMaster({silent: true});
logger.log('workr', 'MaxJobs: ' + maxJobs);
setInterval(function () {
logger.log('workr', "Active: " + activeJobs);
}, 200);
for (var i = 0; i < maxJobs; i++) {
cluster.fork();
}
Object.keys(cluster.workers).forEach(function (id) {
cluster.workers[id].process.stdout.on('data', function (chunk) {
logger.log('workr', chunk);
});
cluster.workers[id].process.stderr.on('data', function (chunk) {
logger.log('error', 'Error in worker ' + id + ': ' + chunk);
});
cluster.workers[id].on('message', function (msg) {
if (msg.update !== undefined) {
activeJobs += msg.update ? 1 : -1;
}
});
})
cluster.on('exit', function (worker, code, signal) {
logger.log('workr', 'worker ' + worker.process.pid + ' died');
});
} else {
setTimeout(function () {
console.log('Adding 1');
process.send({ update: true });
setTimeout(function () {
console.log('Removing 1');
process.send({ update: false });
}, Math.random() * 500 + 1000);
}, Math.random() * 600 + 200);
}
最佳答案
事实证明这是我的 Winston 实现的一个问题。我没有指定 Winston 中的日志记录级别,这意味着它默认为“info”,并且该级别比我的“workr”级别更高。通过添加特定级别,它现在似乎可以正常工作。
...
logger.enableConsole = function () {
logger.add (winston.transports.Console, {
name: 'console',
formatter: function (options) {
return options.level.toUpperCase() + ' - ' + options.message;
},
level: 'workr' // This was what I was missing
});
};
关于node.js - 使用集群时 Winston 日志记录不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32083407/
我正在使用 winston、expressWinston、winston-mongoDB 来管理我的 NodeJs 应用程序中的日志。 同时使用 winston-mongodb transport 和
当我的应用程序启动时,winston 会记录各种信息,例如 winston:create-logger Define prototype method for "error" winston:crea
我正在使用 winston logger 和 wnat 进行流式输入。但我不知道我应该传递给什么。我的记录器: const logger = createLogger({ ... }); Missin
winston.createLogger();显然不是构造函数。为什么会这样? 我看到有些人尝试回滚到winston@3.0.0,但这对我不起作用。我使用的是最新版本的 winston 。以下是 lo
几年前我和 winston 一起工作。当我们在 localhost 上进行开发时,我们的 winston 被配置为输出格式良好、易于阅读的 JSON。 2.x winston npm install
我正在尝试使用 express-winston 和 winston-mongodb 将请求/响应记录到 NodeJS 项目中的 MongoDB。这是我到目前为止工作的示例代码; const expre
我正在尝试在 Node js 中实现一个记录器,它将每天以自定义格式的日志创建一个新的日志文件 为此我使用了三个包 winston morgan winston-daily-rotate-file 所
将 winston 更新至 3.0.0运行我的nodejs应用程序时出现此错误出现以下错误 TypeError: colors[Colorizer.allColors[lookup]] is no
编辑:找到答案,并为 future 的读者发布完整的答案。 我已经掌握了winston logging的基础知识在 Node.js 中,并希望更多地自定义我的日志记录。这是我到目前为止所拥有的: va
我正在使用 winston 登录 Sails 应用程序。这是我的配置: var customLogger = new winston.Logger({ transports: [
所以我使用winston-daily-rotate-file。在 app.js 中我有: var logger = require('./logger'); 然后: logger.info("logg
现在我使用 Winston 来记录最大大小和每日轮换 我希望每个 API 端点都有一个文件,从而定义多个日志文件 我怎样才能实现这一目标? 这是我的 winston 助手类 import * as w
我想在 node 应用程序中使用 winston 记录器将错误记录到文件中。但是 winston 没有写入文件。 var logger = new (winston.Logger)({
我正在使用 创建完整的平均堆栈应用程序 NodeJs , Angular 6 , ExpressJs and MongoDB 我已经成功创建了一个服务器,并且它工作得很好,在我的应用程序中记录错误时,
我正在使用 Winston ^3.0.0-rc6,如下所示: var options = { file: { level: 'info', filename:
我尝试向 winston 添加自定义日志级别。这是记录器的代码: const write = new (winston.Logger)({ transports: [
这是我的 winston 记录器 - var winston = require('winston') var logger = new (winston.Logger)({ transports
我正在使用这样的东西: var winston = require('winston'), logger = new (winston.Logger)({ transports: [ ne
Flatiron 的日志记录库 Winston 非常有用,但我不知道如何为记录器分配名称。我期待与其他日志库类似的输出,例如: [] [] - 是否可以这样配置Winston? 谢谢。 最佳答案
我写了一个小模块,使用 winston 来记录东西。 我使用了 sudo npm install -g winston(它在 vm 上...所以我不太关心 sudo 等。 来自 npm 的日志: wi
我是一名优秀的程序员,十分优秀!