Getting logging.debug() to work on Google App Engine/Python
我刚刚开始为 Google App Engine 构建 Python 应用程序。在 localhost 环境中(在 Mac 上)
我正在尝试通过 logging.debug() 将调试信息发送到 GoogleAppEngineLauncher 日志控制台,但它没有显示出来。但是,通过 logging.info() 或 logging.error() 发送的任何内容都会显示出来。我在 logging.debug() 之前尝试过 logging.basicConfig(level=logging.DEBUG),但无济于事。
我错过了什么?
如果有人使用 Windows Google 应用程序启动器。可以在编辑 > 应用程序设置
下设置调试参数
在额外的命令行标志中,添加 --log_level=debug
- 我曾尝试在启动设置下执行此操作。 (额外的命令行标志)我把它放进去并更新。它似乎没有保留额外的命令行标志,它总是空的。
标志是 --log_level debug.
具体来说,使用以下命令行启动您的开发服务器:
1
| dev_appserver.py --log_level debug . |
您可以通过运行 dev_appserver.py --help 找到此信息。以下是命令输出中的相关引用:
--log_level {debug,info,warning,critical,error}
the log level below which logging messages generated
by application code will not be displayed on the
console (default: info)
使用等号(即--log_level=debug)也可以,因为python脚本google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py依赖于argparse模块,后者处理空格和等号的方式相同,如中所述官方文档。
-
根据stackoverflow.com/a/17350827/242848,它是 --log_level=debug (带有'='符号)。您能否澄清/仔细检查,并可能指向一些文档,我将更改接受的答案。
-
感谢您的反馈。 --log_level=debug 和 --log_level debug 都可以工作,因为 argparse python 模块的设计方式。我相应地编辑了我的答案。
-
好的,这是现在公认的答案。你能把你的第一句话改得不那么混乱吗?例如。 '接受的答案' -> '以前接受的答案'
-
我删除了以前接受的答案,因为它是错误的,所以在这个答案中完全没有必要提及它:)
-
感谢您的反馈意见。我已删除所有提及已接受答案的内容。
在 Mac 上:
1) 单击编辑 > 应用程序设置
2) 然后将以下行复制并粘贴到"Extra Flags:"字段中
--log_level=调试
3) 点击更新
您的调试日志现在将显示在日志控制台中
设置 log_level 标志的另一种方法:
1
| logging.getLogger().handlers[0].setLevel(logging.DEBUG) |