Trung
Trung

Reputation: 1032

AppEngine get/view logs

I run my application in AppEngine (Java). I want to use gcloud app logs command to view my application logs:

gcloud app logs tail

However, the output is just few data as below:

....
2019-10-04 12:46:43 default[api-v1-0-0]  "GET / HTTP/1.1" 200
2019-10-04 12:46:43 default[api-v1-0-0]  "GET / HTTP/1.1" 200
....

Actually, I expect gcloud app logs will show logs that my application printed to stdout and stderr. However, it does not.

My question is: How to get/view application stdout/stderr logs by using gcloud command?

Upvotes: 1

Views: 460

Answers (2)

Bhola Bhala
Bhola Bhala

Reputation: 199

I also could not use

> gcloud app logs tail

but i found out you can use:

 gcloud logging logs list

This will return a list of log names like:

NAME
projects/intan1/logs/appengine.googleapis.com%2Frequest_log projects/intan1/logs/cloudaudit.googleapis.com%2Factivity

Then you can call:

gcloud beta logging read logName=projects/intan1/logs/appengine.googleapis.com%2Frequest_log

This will return a log, with a lot of extra info, but maybe this can help you!

Upvotes: 1

Dan Cornilescu
Dan Cornilescu

Reputation: 39814

From gcloud app logs tail:

DESCRIPTION

Streams logs for App Engine apps.

The command is designed as a blocking call primarily watching for the app logs being generated after the command is invoked (though at startup it may also display a few historical logs, generated before the command is issued).

To focus primarily on the historical logs you want to use the gcloud app logs read command:

DESCRIPTION

Display the latest log entries from stdout, stderr and crash log for the current Google App Engine app in a human readable format.

Note that the presence of the stdout/stderr in the logs depends on the environment and runtime your app uses. For example in the 1st generation standard environment (at least for the python runtime) the messages printed directly to stdout/stderr do not show up in the logs, one has to specifically use the python logging calls.

I suspect the same might be true for Java, as I see stdout/stderr mentioned in the logging docs for Java11 (and flex environment), but not in the Java8 one.

Upvotes: 3

Related Questions