尽管阅读了文档,但我在使用 python 日志记录时还是无法在内部点击。
我有这个代码
import logging
logging.basicConfig(level=logging.INFO,format='%(levelname)s::%(message)s')
LOG = logging.getLogger("__name__")
LOG.info("hey")
Run Code Online (Sandbox Code Playgroud)
如果我从 bash 运行它,我会得到:
INFO::hey
Run Code Online (Sandbox Code Playgroud)
如果我在 aws lambda 中运行它,“嘿”根本不会出现在日志中。
然后我通过添加以下内容进行了设置记录器级别的测试:
LOG.setLevel(logging.INFO)
Run Code Online (Sandbox Code Playgroud)
从 bash 运行,我得到了之前得到的相同结果(所需的格式),但是从 lambda 运行,这显示在日志中:
[INFO] 2022-02-14T23:30:43.39Z eb94600a-af45-4124-99b6-d9651d6a3cf6 hey
Run Code Online (Sandbox Code Playgroud)
好吧……这很奇怪。其格式与 bash 中的格式不同。
我想我可以合理化第一个示例,因为 bash 上的输出实际上会发送到 stderr。然后我假设 aws lamdba 日志没有抓住这一点。但第二个示例也会在 bash 上发送到 stderr,但它显示在 lambda 日志中,但格式错误。很明显我错过了一些东西。
这里到底发生了什么?
我正在使用 terraform 来管理我们应用程序的 aws 环境。环境有用于各种事物的 s3 存储桶。在设置新环境时,我只想从基本源存储桶或现有环境中复制存储桶。
但我找不到任何可以提供副本的内容。AWS 界面允许您在创建时复制设置(我不需要),但不能复制对象,因此 terraform 可能无法直接执行此操作。
如果是的话,间接的怎么样?
我们使用 gitflow 方法,所以有 master 分支、dev 分支、feature 分支。对于发布,我们将 dev 合并到 master 并从那里发布。
发生的情况是,每次我们去 PR dev 进行 master 操作时,我们都会被告知 dev 落后于 master 一次提交,因此我们无法合并。所以我们从公关大师到开发人员。它没有显示差异并且合并得很好。然后我们就可以通过PR dev来掌握了。但即使我们没有做任何事情来掌握,下一个版本也会重复这个循环。
我应该寻找什么可能导致这种情况?