如何解决AWS CloudWatch Winstion属性丢失
我正在为服务器代码实现winston-aws-cloudwatch
模块。使用此模块时有两个问题。
我设置了CloudWatch配置。我按照教程指南中的所有步骤进行操作。
new CloudWatchTransport({
level: 'error',logGroupName: process.env.CLOUDWATCH_LOG_GROUP_NAME,logStreamName: process.env.CLOUDWATCH_LOG_STREAM_NAME,createLogGroup: true,createLogStream: true,awsConfig: {
aws_access_key_id: process.env.AWS_KEY_I_USE_FOR_AWS,aws_secret_access_key: process.env.AWS_SECRET_KEY_I_USE_FOR_AWS,region: process.env.REGION_CLOUDWATCH_IS_IN
},formatLog: item =>
`${item.level}: ${item.message} ${JSON.stringify(item.meta)}`
})
但是我在Cloud Watch控制台上收到的日志是undefined: undefined {"0":"e","1":"r","2":"r","3":"o","4":"r"}
。有谁知道为什么无法记录级别和消息。
问题2是我收到错误消息。
(node:88527) UnhandledPromiseRejectionWarning: TypeError: item.callback is not a function
at Relay._onSubmitted (/Users/manlokwong/Desktop/BeastQuestServer/bq_server/node_modules/winston-aws-cloudwatch/lib/relay.js:62:12)
at _client.submit.then (/Users/manlokwong/Desktop/BeastQuestServer/bq_server/node_modules/winston-aws-cloudwatch/lib/relay.js:53:24)
at process._tickCallback (internal/process/next_tick.js:178:7)
(节点:88527)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。该错误是由于在没有catch块的情况下抛出异步函数而引起的,或者是由于拒绝了未经.catch()处理的诺言而引起的。 (拒绝ID:5)
然后我附加了formatLog
项目属性。
LogItem {
_date: 1598927751612,_level: undefined,_message: undefined,_meta: { '0': 'e','1': 'r','2': 'r','3': 'o','4': 'r' },_callback: 'BatchError {\n stat: { total: 1,succeeded: 0,failed: 1,duration: 0 }\n errors: [\n 0: { Error: Insufficient gem\n at tx.one.then.catch.err (/Users/manlokwong/Desktop/BeastQuestServer/bq_server/controllers/chest.js:305:39)\n at process._tickCallback (internal/process/next_tick.js:178:7)\n extraInfo: [],\n httpCode: 400,\n wsCode: 1013,\n type: \'BAD_INPUT\',\n subType: \'FAIL_VALIDATION\' }\n ]\n}' }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。