bounty将于明天过期。回答此问题可获得+100的声望奖励。user-517752正在寻找规范答案。
我将greengrass组件部署到EC2示例中,部署greengrass组件一直在生成日志,这些日志包含了我的python日志。
是什么导致了它周围的“包裹”?我如何才能去除这些包裹。
例如,bold中的日志是原始python日志的 Package ,emphasis 中的日志是由我的python日志格式化程序生成的。
2022-12- 13 T23:59:56.926Z [信息](复印机)com.bolt-data.iot.规则引擎核心:标准输出。[2022年12月13日23:59:56,925][调试][iot-ipc]正在检查redis发布子系统的运行状况(io_thread[140047617824320]:发布子系统的运行状况:连接健康保姆任务:61)。{脚本名称=服务.com. bolt-数据.iot.规则引擎核心。生命周期。运行,服务名称=com. bolt-数据.iot.规则引擎核心,当前状态=正在运行}
下面是我的python日志格式化程序。
formatter = logging.Formatter(
fmt="[%(asctime)s][%(levelname)-7s][%(name)s] %(message)s (%(threadName)s[%(thread)d]:%(module)s:%(funcName)s:%(lineno)d)"
)
# TODO: when we're running in the lambda function, don't stream to stdout
_handler = logging.StreamHandler(stream=stdout)
_handler.setLevel(get_level_from_environment())
_handler.setFormatter(formatter)
1条答案
按热度按时间8yparm6h1#
默认情况下,GreengrassNucleus从其管理的进程捕获
stdoud
和stderr
流,包括自定义组件。然后,它会输出日志的每一行,并使用您以bold突出显示的前缀和后缀。这是无法更改的。您可以将格式从TEXT切换为JSON,这样可以使计算机更容易解析日志(检查绿草-核心-组件-配置-logging.format
)如果要输出仅包含应用程序生成内容的日志,请将日志记录器配置输出更改为文件。可以将文件写入组件的工作文件夹或其他位置,例如
/var/log
干杯马西米利亚诺