我想添加另一个解决方案。
是的,您可以在 AWS Cloudwatch Logs 中看到它们,但您需要一些配置。
这里是公关 https://github.com/aws-amplify/amplify-js/pull/8309其中介绍了该功能。
如果您获得最新的 Amplify 版本,那么您就已经安装了所有内容(对于 React Native 用户来说,一切都已安装,请参阅下文)。
设置附加组件:
Amplify.configure({
Logging: {
logGroupName: '<loggroup-name>',
logStreamName: '<logstream-name>',
region: '<region-code>',
},
...awsconfig,
});
const logger = new Logger('yourloggername', 'DEBUG');
Amplify.register(logger);
logger.addPluggable(new AWSCloudWatchProvider());
现在您可以登录cloudwatch:
logger.debug('hello logging');
您需要在 AWS 中配置 IAM,为了简单起见,我报告了一个工作示例。
将此策略添加到您用于访问 Cloudwatch 的 IAM 身份:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "logs:DescribeLogGroups",
"Resource": "arn:aws:logs:<region-code>:<youraccount>:log-group:*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:DescribeLogStreams"
],
"Resource": "arn:aws:logs:<region-code>:<youraccount>:log-group:<loggroup-name>:log-stream:"
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:<region-code>:<youraccount>:log-group:<loggroup-name>:log-stream:<logstream-name>"
}
]
}
您已准备好登录 CloudWatch。
不知道为什么官方文档中没有描述这个功能。
最后但并非最不重要的一点是,如果你像我一样使用 React Native,你将不会util
包装和TextExncoder()
公用事业。对我来说,安装一个像这样的polyfill就足够了this one https://www.npmjs.com/package/fastestsmallesttextencoderdecoder:
npm install fastestsmallesttextencoderdecoder
并将其导入为我的 index.js 中的第一行:
import 'fastestsmallesttextencoderdecoder';