小编drz*_*zax的帖子

如何向OpenShift环境变量添加私人信息?

数据库连接字符串或密码等身份验证信息几乎不应存储在版本控制系统中.

看起来为OpenShift上托管的应用程序指定环境变量的唯一方法是将它们提交到Git存储库.有一个关于这个的OpenShift论坛的讨论,但问题没有有用的建议解决方案.

我可以使用另一种方法将身份验证信息添加到我的应用程序而无需将其提交到存储库吗?

environment-variables openshift

13
推荐指数
3
解决办法
4625
查看次数

Winston的日志流如何工作?

温斯顿文档有一个部分流日志它说:

Streaming允许您从所选的传输中流回日志.

并给出以下代码示例:

//
// Start at the end.
//
winston.stream({ start: -1 }).on('log', function(log) {
  console.log(log);
});
Run Code Online (Sandbox Code Playgroud)

我对此的解读是,添加的每条新日志消息都将输出到控制台.该{start: -1}配置告诉流在文件末尾开始,所以只有新的日志条目输出.我希望以下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);
Run Code Online (Sandbox Code Playgroud)

我希望看到类似以下输出:

{"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"}
Run Code Online (Sandbox Code Playgroud)

实际发生的是日志记录按文件传输的方式工作(文件每500毫秒获取一个新的日志条目),但控制台没有输出.console.log(log)永远不会调用该行.

我是否错过了一些明显的东西,或者误解了Winston的日志流的目的?

logging stream node.js winston

8
推荐指数
1
解决办法
7131
查看次数