Elasticsearch:Node.js ECS 日志记录 - Winston
const winston = require('winston');
const { formatElasticsearch } = require('@elastic/winston-ecs-format');
// 创建一个Elasticsearch格式化器
const ecsFormat = formatElasticsearch({
// 可以在这里配置额外的元数据
// 例如:
// serviceName: 'my-service',
// eventCategory: 'application'
});
// 创建Winston日志器
const logger = winston.createLogger({
level: 'info',
format: winston.format.combine(
ecsFormat, // 使用Elasticsearch格式化器
winston.format.timestamp(), // 添加时间戳
winston.format.json() // 使用JSON格式
),
transports: [
new winston.transports.Console(), // 控制台输出
// 可以添加更多的transports,例如文件或Elasticsearch
]
});
// 使用日志器记录信息
logger.info('这是一条info级别的日志信息。');
这段代码首先引入了必要的模块,然后创建了一个Elasticsearch格式化器,并配置了一些基本选项。接着,它创建了一个Winston日志器,并配置了日志的格式和传输方式。最后,它展示了如何使用这个日志器记录一条info级别的日志信息。这个例子简单明了地展示了如何将Elasticsearch的日志格式整合到Winston日志系统中。
评论已关闭