小编Cen*_*ius的帖子

Lambda AWS 即时返回日志

我想直接快速访问 AWS lambda 中的日志。

我可以查询 CloudWatch,但它需要时间来获取数据。

是否可以在 Lambda 中获取所有执行日志并返回此数据作为响应?


2020 年 6 月 15 日更新

谢谢@John 的回答,我在这里提供更多信息:

我在 .NET 中为 lambda 使用专用记录器

https://github.com/aws/aws-lambda-dotnet/tree/master/Libraries/src/Amazon.Lambda.Logging.AspNetCore

如果出现任何问题,我的应用程序需要登录以进行调试。

例如,您要访问什么类型的“日志”

我只在 lambda 函数中在不同的日志记录级别上记录一些数据,例如:

  1. logger.LogDebug("Lambda 启动");
  2. logger.LogCritical(异常);
  3. logger.LogInfo(businessDataForDebug);

我想获取所有记录的语句,这些语句通过日志记录级别传递并尽快在 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)

.net logging amazon-cloudwatch aws-lambda

6
推荐指数
1
解决办法
292
查看次数

Abaqus Surface getSequenceFromMask

我正在 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, 万曼

python mask surface abaqus

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

.net ×1

abaqus ×1

amazon-cloudwatch ×1

aws-lambda ×1

logging ×1

mask ×1

python ×1

surface ×1