问题描述
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 (将#修改为@)