Python Cloud Function嵌套日志被隐藏,如何查看完整日志?
解决Cloud Function日志中嵌套字典/数组被省略的问题
使用
json.dumps()序列化输出
直接打印嵌套结构时,Cloud Function的日志系统会自动截断过长或嵌套过深的内容。用json.dumps()将整个结构转换成完整字符串后再打印,能确保所有嵌套内容都被完整记录:import json nested_data = {"key": {"nested_key": [1,2,3,4], "another": {"deep": "value"}}} print(json.dumps(nested_data, indent=2))其中
indent=2参数会格式化输出,提升可读性,同时保留所有层级的内容。调整logging模块的输出配置
若使用Python内置的logging模块而非print,可以自定义日志格式化器,避免内容被截断:import logging import json logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) # 配置不截断内容的日志格式 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler = logging.StreamHandler() handler.setFormatter(formatter) logger.addHandler(handler) nested_data = {"key": {"nested_key": [1,2,3,4], "another": {"deep": "value"}}} logger.info(json.dumps(nested_data, indent=2))检查控制台日志的显示设置
有时日志内容实际是完整的,只是GCP控制台默认折叠了长内容。你可以点击日志条目中的展开按钮,或者切换到「原始日志」视图,即可查看完整的日志内容。
内容的提问来源于stack exchange,提问作者João Abrantes
相关产品推荐
相关产品推荐

