Pythonlogging.getLogger 在 AWS Glue python shell 作业中不起作用

2024-01-04

我正在尝试使用 Python 为我的 AWS Glue 作业设置一个记录器logging模块。我有一个使用 Python 版本 3 的类型为“Python Shell”的 Glue 作业。

如果我实例化记录器而没有任何记录,则记录工作正常name,但是如果我给我的记录器一个name,它不再起作用,并且我收到一条错误消息:Log stream not found.

我在示例胶水作业中有以下代码:

import sys
import logging

# Version 1 - this works fine
logger = logging.getLogger()
log_format = "[%(asctime)s %(levelname)-8s %(message)s"

# Version 2 - this fails
logger = logging.getLogger(name = "foobar")
log_format = "[%(name)s] %(asctime)s %(levelname)-8s %(message)s"

date_format = "%a, %d %b %Y %H:%M:%S %Z"
log_stream = sys.stdout
if logger.handlers:
  for handler in logger.handlers:
    logger.removeHandler(handler)
logging.basicConfig(level = logging.INFO, format = log_format, stream =
    log_stream, datefmt = date_format)
logger.info("This is a test.")

请注意,我将根据以下内容删除处理程序this https://forums.aws.amazon.com/thread.jspa?threadID=288743 post.

如果我使用代码版本 1 实例化记录器,它会成功运行,并且我能够查看日志并在CloudWatch.

如果我运行版本 2,并为记录器指定名称,Glue 作业仍然会成功。但是,如果我尝试查看日志,则会收到以下错误消息:

Log stream not found
The log stream jr_f137743545d3d242618ac95d859b9146fd15d15a0aadce64d8f3ba991ffed012 could not be found. Check if it was correctly created and retry.

而且我也无法查询这些日志CloudWatch.

我尝试使用 python 版本在本地运行此代码3.6.0,并且两个版本都可以工作。此外,此日志记录代码的两个版本都在 Lambda 函数内部工作。他们只在胶水方面失败了。


这段代码对我有用:

import logging
import sys

root = logging.getLogger()
root.setLevel(logging.DEBUG)

handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
root.addHandler(handler)
root.info("check")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pythonlogging.getLogger 在 AWS Glue python shell 作业中不起作用 的相关文章

随机推荐

  • 如何配置 php.ini 以使用 gmail 作为邮件服务器

    I want to learn yii as my first framework And I m trying to make the contact form work But I got this error 我已经配置了 php i
  • 通知通过旧意图附加

    我正在通过以下代码在 BroadcastReceiver 内创建通知 String ns Context NOTIFICATION SERVICE NotificationManager mNotificationManager Notif
  • 像导航抽屉一样实现 Gmail 平板电脑

    我正在研究 Gmail 应用程序的平板电脑设计 在那里面Navigation Drawer实施与其他不同 我已附上图片供您参考 而且当我展开抽屉时 它应该像正常的导航抽屉行为一样发生 我想以同样的方式实施 我正在寻找 但我只找到了这个lin
  • C++ STL 分配器与 new 运算符

    根据C Primer第4版 第755页 有一条注释说 现代 C 程序通常应该使用分配器类 来分配内存 它更安全 更灵活 我不太明白这个说法 到目前为止 我读过的所有材料都教授使用new在C 中分配内存 书中展示了向量类如何使用分配器的示例
  • 创建一个 PHP 文件来下载某个站点的所有链接

    我最近在我的 Firefox 中安装了附加组件 DownThemAll 当我看到它下载大量的 pk3 文件 开源第一人称射击游戏的地图文件 时 我想知道我是否可以使用 PHP 做同样的事情 这就是我的想法 foreach glob http
  • gitignore 除了子子文件夹中的文件之外的所有文件

    我已经尝试了 gitignore 的多种组合 但没有一个能满足我的需要 我有这棵树 jobs jobs projecta config xml jobs projecta garbage jobs projecta more garbage
  • 如何从 jar/bat/ 运行独立的 TestNG 项目

    我有一个 TestNG 项目 没有任何主类 目前它像 Run As TestNG 一样运行 我想将其导出为可运行的 jar 或 jar 以便任何人都可以从命令行输入命令并开始运行测试用例 有人可以帮我解决这个问题吗 或建议任何其他方式以可运
  • 又一个浮点问题

    我已经阅读了这里有关浮点的大部分帖子 并且我了解使用 IEEE 754 并且仅根据以二进制存储数字的性质 无法表示某些分数的基本问题 我试图弄清楚以下问题 如果Python和JavaScript都使用IEEE 754标准 为什么在Pytho
  • 返回 PL/SQL 函数中的表

    我正在开发一个 SQL 项目 我想创建一个返回表的 sql Plus 函数 我做了这样的事情 但它不起作用 我不知道为什么 CREATE OR REPLACE FUNCTION changeNbPersonnes recette IN in
  • ggpairs 中的部分 cor (pcor.test)

    我可以用吗pcor from ppcor 或者实际上将我预先制作的任何相关矩阵放入以下代码中ggpairs 在里面upper 代替cor 我想在 ggpairs 中集成一个部分相关矩阵或 pcor library GGally a lt a
  • 在 Rails 3 中检测用户操作系统的最简单方法是什么?

    简单的 Rails 应用程序 主要是脚手架 我想检测用户是使用 Android 还是 iPhone 访问我的应用程序 最简单的方法是什么 if request env HTTP USER AGENT downcase match andro
  • 使用相对布局制作动态视图时面临的问题

    我正在使用相对布局动态构建视图 网格 例如 如果有 1 个用户 网格与用户 1 https i stack imgur com 4Dqsr png 1 https i stack imgur com 4Dqsr png 如果有 2 个用户
  • FileSystemWatcher 创建 1000 个文件失败

    我正在使用 FileSystemWatcher 监视文件夹 A 如果创建文件或将文件复制到该文件夹 中 它将被移动到文件夹 B 我通过右键单击 选择 新建 选择 文本文档 在文件夹 A 中创建了一个文件 该文件立即移至文件夹 B 但是 如果
  • 如何检测颤振中选定的键盘语言?

    如何在打字时检测当前的键盘语言 我正在尝试在聊天应用程序中实现翻译 我需要知道其他用户正在输入哪种语言 以便我可以根据用户的母语知道要翻译哪些文本 目前flutter中似乎没有办法做到这一点 我在 GitHub 上提交了一个问题 如果您想帮
  • 如何制作一个收集到 com.google.common.collect.ImmutableSet 的 java.util.stream.Collector?

    这对我来说似乎太棘手了 因为ImmutableSet实例仅使用以下内容构建ImmutableSet Builder实例 未实现Collection所以你不能只使用Collectors toCollection ImmutableSet ne
  • Vaadin 10/11 和嵌入式 Jetty

    我在 Vaadin 8 5 1 上开发了中型应用程序 Jetty 嵌入式 9 4 8 用作 Vaadin servlet 的 Servlet 容器 在 Java 代码中 我初始化 Jetty 实例 创建 Vaadin servlet 并将其
  • 多个 Web 服务的集中身份验证和授权

    有几种不同的 Web 服务 使用的各种技术 例如 Java NET Python Perl 以及将来可能会使用的更多技术 属于不同的组织 并且必须限制对这些 Web 服务的访问 这个想法是拥有一个中央身份验证和授权服务器 只负责授予对每个
  • 为什么要预测一个分支,而不是简单地并行执行两个分支?

    我相信 在创建 CPU 时 如果选择了错误的分支 分支预测会导致速度显着下降 那么 为什么 CPU 设计者选择一个分支 而不是简单地执行两个分支 然后在确定选择了哪个分支后就切断其中一个分支呢 我意识到这只能在少量指令内深入 2 或 3 个
  • 如何避免多个嵌套 IF

    我目前正在尝试重组我的程序 使其更加面向对象并更好地实现已知模式等 我有很多嵌套的 IF 语句 想去掉它们 我该怎么办 我的第一个方法是在有例外的情况下完成它 所以例如 public static Boolean MyMethod Stri
  • Pythonlogging.getLogger 在 AWS Glue python shell 作业中不起作用

    我正在尝试使用 Python 为我的 AWS Glue 作业设置一个记录器logging模块 我有一个使用 Python 版本 3 的类型为 Python Shell 的 Glue 作业 如果我实例化记录器而没有任何记录 则记录工作正常na