Getting logging.debug() to work on Google App Engi

2019-02-11 11:48发布

I'm just getting started on building a Python app for Google App Engine. In the localhost environment (on a Mac)

I'm trying to send debug info to the GoogleAppEngineLauncher Log Console via logging.debug(), but it isn't showing up. However, anything sent through, say, logging.info() or logging.error() does show up. I've tried a logging.basicConfig(level=logging.DEBUG) before the logging.debug(), but to no avail.

What am I missing?

4条回答
对你真心纯属浪费
2楼-- · 2019-02-11 12:03

In case someone is using the Windows Google Application Launcher. The argument for debug can be set under Edit > Application Settings

In the Extra Command Line Flags, add --log_level=debug

查看更多
神经病院院长
3楼-- · 2019-02-11 12:03

On a Mac:

1) click Edit > Application Settings

2) then copy and paste the following line into the "Extra Flags:" field

--log_level=debug

3) click Update

your debug logs will now show up in the Log Console

查看更多
做个烂人
4楼-- · 2019-02-11 12:15

The flag is --log_level debug.

Concretely, start your dev server with this command line:

dev_appserver.py --log_level debug .

You can find this information by running dev_appserver.py --help. Here's the relevant quote from the command output:

--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)

Using an equal sign (i.e., --log_level=debug) will also work, because the python script google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py relies on the argparse module, and the latter handles both spaces and the equal sign the same way, as stated in the official doc.

查看更多
等我变得足够好
5楼-- · 2019-02-11 12:18

another alternative to setting the log_level flag:

logging.getLogger().handlers[0].setLevel(logging.DEBUG)
查看更多
登录 后发表回答