如何使用Express来注册Node.js到ELK?

我有一个使用Express的Node.js服务器应用程序。 我想将其活动logging到ElasticSearch中,并使用Kibana可视化日志。

什么是正确的方式来做到这一点?

我应该写一个json行的日志文件,并用Logstash读取它?

谢谢

我build议log4js 。 它有一系列有用的appender,logstash就是其中之一。 它通过UDP工作。

这是从log4js站点取得的一个例子:

var log4js = require('../lib/log4js'); /* Sample logstash config: udp { codec => json port => 10001 queue_size => 2 workers => 2 type => myAppType } */ log4js.configure({ "appenders": [ { type: "console", category: "myLogger" }, { "host": "127.0.0.1", "port": 10001, "type": "logstashUDP", "logType": "myAppType", // Optional, defaults to 'category' "fields": { // Optional, will be added to the 'fields' object in logstash "field1": "value1", "field2": "value2" }, "layout": { "type": "pattern", "pattern": "%m" }, "category": "myLogger" } ] }); var logger = log4js.getLogger("myLogger"); logger.info("Test log message %s", "arg1", "arg2");