我想直接快速访问 AWS lambda 中的日志。
我可以查询 CloudWatch,但它需要时间来获取数据。
是否可以在 Lambda 中获取所有执行日志并返回此数据作为响应?
谢谢@John 的回答,我在这里提供更多信息:
我在 .NET 中为 lambda 使用专用记录器
https://github.com/aws/aws-lambda-dotnet/tree/master/Libraries/src/Amazon.Lambda.Logging.AspNetCore
如果出现任何问题,我的应用程序需要登录以进行调试。
例如,您要访问什么类型的“日志”
我只在 lambda 函数中在不同的日志记录级别上记录一些数据,例如:
我想获取所有记录的语句,这些语句通过日志记录级别传递并尽快在 lambda 响应中返回所有这些信息。日志数据必须引用特定的 lambda 执行。否则,将毫无用处。
您要从 CloudWatch 寻找什么类型的数据?
如果发生,我主要需要记录的字符串消息和异常。如果可能的话,包含特定日志调用的时间可能会很好。此外,一些“日志”ID 可以作为参考 - 有类似 RequestId 的东西。
现在我可以获取所有在 CloudWatch 中进行查询的日志,但这需要时间,而且速度太慢。我执行 API 调用:StartQueryAsync,然后是 GetQueryResultsAsync。解决方案应该尽可能快。我可以制作丑陋的自定义记录器,我可以在其中收集所有日志给 ex。列出 myLogs 并简单地作为 JSON 返回响应,但我希望有很好的 AWS 解决方案可以达到这个目的。
“执行日志”是什么意思?
我的意思是在 Lambda 简单函数运行时由记录器生成的所有日志。
LambdaFunction(request, context){
InitializeLoggerWithLogLevel(debug);
logger.LogInfo("Log Info"); //Not logged due to min log level Debug
logger.LogTrace("Log Trace"); …Run Code Online (Sandbox Code Playgroud) 我正在 Abaqus 中编写脚本,在那里我用切圆(如奶酪)粉碎圆形和方形。我需要在零件之间放置 Contact,所以我需要 Surface。
宏管理器生成:
s1 = a.instances['kolo-1'].edges
side1Edges1 = s1.getSequenceFromMask(mask=('[#1 ]', ), )
a.Surface(side1Edges=side1Edges1 , name='kolkoSurf')
Run Code Online (Sandbox Code Playgroud)
问题是: getSequenceFromMask(mask=('[#1 ]', ), ) 如何得到这个#1?我可以更换它吗?我搜索得很少,有一些想法可以使用:“查找”、“脸”、“坐标”,但我无法管理它。请帮我。我梦想得到一个简单的例子,如何使用 X、Y 或其他方式提取这个 Surface。
BR, 万曼