试图将应用程序日志直接从winston-elasticSearch库发送到Kibana。问题在于该消息是与kibana一起发送的,并且没有将数据分成单独的字段。
到目前为止,尝试了一些不同的格式,但是似乎没有任何效果,并且关于转换功能的文档很少。
const { createLogger } = require('winston');
const Elasticsearch = require('winston-elasticsearch');
const elasticsearch = require('elasticsearch');
const clientData = new elasticsearch.Client({
index: 'xxxxx.winston.logs',
host: 'elasticsearch.xxxxxx.com',
log: 'trace'
});
const login = createLogger({
transports: [
new Elasticsearch({
level: 'info',
client: clientData,
index: 'xxxxx.winston.logs'
})
]
});
module.exports = {
login
};
const logs = require('./winston-logger');
module.exports = {
accessLog({ body, user, statusCode, requestId }) {
logs.login.info(`{"id":"${body.username}","email":"${user._json.mail}","response":"${statusCode}","uuid":"${requestId}"}`);
}
};
消息:{“ id”:“ xxxx”,“电子邮件”:“ xxxxxx”,“响应”:“ 200”,“ uuid”:“ 0e5a1506-46aa-4044-9311-9a6cab1335ac”}
是目前在Kibana中的外观,但尝试将ID,电子邮件,响应等放入其自己的字段中。