Google App Engineのアクセスログを表示・取得するには2種類の方法があります。ひとつは、Cloud SDKのgcloud、もうひとつは、App Engine SDKのappcfgです。

Cloud SDKのgcloudは、
Common Log Format相当のログを表示。

App Engine SDKのappcfgは、
Combined Log Formatのログをダウンロード。
Cloud SDKのgcloud
Cloud SDKのgcloudでログを表示できます。
gcloud app logs readで、直前の200行を表示します。
$ gcloud app logs read --logs=request_log
2020-04-09 08:03:27 default[20200405t000706] "GET /jquery.jpostal.js?_=1586419407599 HTTP/1.1" 200
2020-04-09 08:03:27 default[20200405t000706] "GET /json/525.json?callback=jQuery_jpostal_callback&_=1586419367992 HTTP/1.1" 200
(省略)
Code language: Bash (bash)
--limitオプションで行数を指定できます。
$ gcloud app logs read --logs=request_log --limit=1000
Code language: Bash (bash)
gcloud app logs tail で、最新ログをストリーミング表示します。Ctrl + Cで終了します。
$ gcloud app logs tail --logs=request_log
2020-04-09 08:03:27 default[20200405t000706] "GET /jquery.jpostal.js?_=1586419407599 HTTP/1.1" 200
2020-04-09 08:03:27 default[20200405t000706] "GET /json/525.json?callback=jQuery_jpostal_callback&_=1586419367992 HTTP/1.1" 200
(省略)
Ctrl + C で終了
Code language: Bash (bash)
表示されるログの内容は、ほぼCommon Log Format相当の項目で、日時、メソッド、URL、ステータスコードです。ただし、転送バイト数は表示されません。
また、リファラーやUserAgentも表示されません。転送バイト数やリファラー、UserAgentも取得したい場合は、次に説明するApp Engine SDKのappcfgを使って、Combined Log Formatのアクセスログをダウンロードします。
App Engine SDKのappcfg
App Engine SDKは非推奨となりましたが、App Engine SDKのappcfgを使って、Combined Log Formatのアクセスログをダウンロードできます。
以下、インスタンスが1つだけの場合です。
まず、バージョン一覧を表示します。
APP_IDの箇所は、application idです。仮に、myapp-1234とします。
$ export APP_ID=myapp-1234
$ appcfg.py --application=$APP_ID list_versions
01:01 AM Host: appengine.google.com
default: [20200403t000705, '1', 20190704t142926, 20190804t134302, 20190901t151503,
20191005t003752, 20191103t151559, 20191213t114343, 20200105t000209, 20200207t234131,
20200301t155026]
Code language: PHP (php)
default配列の先頭が、現在のバージョンです。これを--versionオプションで指定します。
$ appcfg.py --application=$APP_ID --version=20200403t000705 request_logs 2020-04-08-01-01-01.log
Code language: PHP (php)

--version="*"でワイルドカード指定できないのかな?

最後に答えるわね
--num_daysオプションを指定しない場合
--num_daysオプションを指定しない場合、当日の00:00:00から現在までのログをダウンロードします。
12:00に実行すると、12時間分のログをダウンロードします。
23:55に実行すると、23時間55分間のログをダウンロードします。

1日2回、12:00と23:55に実行するとどうなるのかな?
12:00の回は、12時間分のログです。

23:55の回は?12:00からの続きをダウンロードするのかな?
いいえ、前回からの続きの12:00〜23:55ではなく、00:00〜23:55のログをダウンロードします。
この「当日の00:00:00」は、日本時間の00:00:00ではなく、サーバ時間の 00:00:00 です。ログをダウンロードして、サーバ時間のタイムゾーンオフセットを確認してください。
xxx.xxx.xxx.xxx - - [09/Apr/2020:00:54:04 -0700] "GET /jquery.jpostal.js HTTP/1.1" 200 6433 - "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"
Code language: JavaScript (javascript)
この例では「-0700」、-7時間、アメリカ山岳部のタイムゾーンです。日本のタイムゾーンは、+9時間なので、ログ時刻に +16時間したものが、日本での時間です。つまり、サーバが0時0分のとき、日本は16時0分です。

日本時間の4月8日15:55に実行すると?

サーバ時間は4月7日23:55だから

4月7日00:00〜23:55のログをダウンロードするのね

日本時間の4月8日16:05に実行すると?

サーバ時間は4月8日00:05だから

たった5分間のログになってしまうわ!
--num_days=2を指定した場合
--num_days=2 を指定すると、前日のログもダウンロードします。
前日のログをフルに24時間ダウンロードできるか試しました。
日本時間4月8日18:15に、--num_days=2で実行してみました。

サーバ時間4月7日00:00〜4月8日02:15のログをダウンロードできたの?

できたわ!
サーバ時間で日が変わって数分以内に、 --num_days=2 で実行すると、前日の24時間と当日の数分間のログをダウンロードできました。
サーバのタイムゾーンが-0700なので、日本時間16:02に、--num_days=2 で実行するようにしました。
--num_days=0を指定したとき
--num_days=0 を指定すると、そのバージョンに残っている全てのログをダウンロードします。
どれくらい過去まで残っているかは、明記されていません。

行数や日数で残っているのかな?
去年6月は、1080万行、約19日分をダウンロードできました。
今年4月は、600万行、約7日分をダウンロードできました。

行数でも日数でもないようね
デプロイしてバージョンが変わったとき
デプロイしてバージョンが変わったときも注意が必要です。
デプロイした当日のログは、旧バージョンと新バージョンに2つに分かれてしまうので、2回ダウンロードしなければいけません。

1日に1回のデプロイなら

旧バージョン
新バージョン
の2つ
さらに、1日に2回デプロイしたときは、当日のログは、3つのバージョンに分かれてしまいます。3回ダウンロードしなければいけません。

1日2回デプロイしたら

旧バージョン
デプロイ1回めのバージョン
デプロイ2回めのバージョン
の3つね

--version="*"でワイルドカード指定できないのかな?

500エラーだったわ