如何解决在Node.js日志中间件中登录到AWS CloudWatch Logs例如:morgan,pino
morgan,pino是node.js日志中间件。我想将日志导出到AWS cloudWatchLogs。
例如
morgan
代表express
:
var express = require('express');
var loggerM= require('morgan');
var app = express();
app.use(logger('dev'));
使用此设置,您可以在终端上查看日志。但是它只能显示在终端上,我不知道如何获取日志字符串,我必须获取日志字符串才能将其传输到云中。
我目前只能找到stream
方法,该方法只能直接保存到本地文件中:
const appLogStream = fs.createWriteStream(path.join(__dirname,'app.log'),{ flags: 'a' })
app.use(morgan('combined',{ stream: appLogStream}));
AWS clouldWatchLogs putLogEvents
API:
var params = {
logEvents: [ /* required */
{
message: 'STRING_VALUE',/* required */
timestamp: 'NUMBER_VALUE' /* required */
},/* more items */
],logGroupName: 'STRING_VALUE',/* required */
logStreamName: 'STRING_VALUE',/* required */
sequenceToken: 'STRING_VALUE'
};
cloudwatchlogs.putLogEvents(params,function(err,data) {
if (err) console.log(err,err.stack); // an error occurred
else console.log(data); // successful response
});
可以在日志信息中填写参数消息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。