すべてのWebへのアクセスは静的ファイルを含めてアクセスログが残ります。 Webアプリケーションからロギングすると、アプリケーションログが追加されます。 そしてログというと大きく分けて3つの話題になります。 一つ目は、Webアプリケーション(GAE)からロギングすること。二つ目はWebアプリケーションのアクセス ログを管理ツールで閲覧・ダウンロードすること。三つ目はLogService APIを使ってWebアプリケーション(GAE)でログ取得すること。
まず初めにログの制限について説明したいと思います。 アクセスログも他のサービスと同様に無料枠での制限がある以下のようになっています。無料枠はまれに変更されますので、原文も見てくてください。 無制限にすると、数年で数十ギガに膨れ上がるし、それを無制限にAPIでアクセスできるようにすると、費用がかかるので、無料枠は制限せざるを得ません。 ログの保存期間や容量は変更することもできます。管理ツールから変更できます。 ログを管理ツールで閲覧・ダウンロードするアクセス ログ・アプリケーションログを管理ツールで閲覧・ダウンロードすることで、 管理ツールでのログの閲覧公式ドキュメントは情報少ないのですが、すでに多くの検索結果や書籍などで紹介されてますので省きます ログのダウンロード公式ドキュメントにあるようappcfgを使ってダウンロードします WindowsでEclipseお使いですと、appcfg.cmdは以下の様な場所になります。もちろんEclipseのインストールした場所やApp Engine SDKのバージョンによって異なります C:\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.7.0\appengine-java-sdk-1.7.0\bin コマンドプロンプトの操作に不慣れな場合、苦労すると思いますが、CD コマンドで、以下フォルダーに移動した場合 C:\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.7.0\appengine-java-sdk-1.7.0\bin >appcfg.cmd request_logs C:\Users\Yourname\workspace\YourProject\war mylogs.txt request_logsのあとに、Projectの場所、ファイルの保存先のようになると思います 。App Engineのアプリ名やバージョンは、war内のappengine-web.xmlから読み込まれます。 そして、ユーザー名・パスワードを入力すると、ダウンロード mylogs.txtが、C:\eclipse\plugins\com.google.appengine.eclipse.sdkbundle_1.7.0\appengine-java-sdk-1.7.0\bin の中に作られます。 このオプション無しですと、普通のApache形式のアクセスログとして出てきます。 111.0.0.164 - - [15/Jul/2012:08:47:28 -0700] "GET /index.html HTTP/1.1" 304 0 "http://www.google.com/" - ログダウンロードのオプション公式ドキュメントだとこうなっています。 --num_days= すべてのログが欲しい場合は、0を指定します。(サイズ大きいと無料枠にひっかかるかも?) --severity= アプリケーションのログも欲しい時に付けます。 デフォルトの意味が理解できていません。これ付けないと、普通のアクセスログが返ってきて、付けると、アプリケーションログが付いてるログが返ってきます。 デフォルトも何も、ログレベルを指定する数字は省けません。 --append ファイルを追記で保存します。ただし、num_daysのデフォルト値が変わるので注意 ログのダウンロードについての雑感仮に、90日で容量オーバーしないと仮定すれば、 最低でも、90日ごとに、--num_days=0で、全取得すればログは手元に残せるでしょう。できれば、--severity無しと、--severity=1 の両方あればいい。 普通のログ解析は、Google Analyticsなどのサービス利用すればいいわけで、必要ないかもしれないが、比較するときに便利 |
Google App Engine >