0

appcfg.py request_logs を使用すると、「ダウンロード ログを [出力ファイル パス] にコピーします」と表示されます。Google App Engine が一時ファイルを保存するために使用する場所はどこですか?

編集1

appcfg.py request_logs を使用しているときに、最初のプログラムが最初にログを一時的な場所にダウンロードし、次にこれらのファイルをユーザー指定の出力ファイルにコピーすることに気付きました。ターゲット ログ ファイルにコピーされる前にデータが保存された場所を探しています。

4

2 に答える 2

1

あなたの質問を理解できたかどうかはわかりませんが、アプリ エンジン プロジェクト ディレクトリ (app.yamlファイルがある場所)から次のようなコマンドを実行すると、次のようになります。

appcfg.py request_logs . logs.out

logs.outその後、出力は同じディレクトリ (プロジェクト ディレクトリ)内のファイルになります。

于 2012-07-13T06:09:00.447 に答える
0

最初に、標準の一時ファイルを使用してログを保存するGAEを最初に見つけました。次に、それらを目的の出力ファイルの場所にコピーします。

def DownloadLogs(self):
    """Download the requested logs.

    This will write the logs to the file designated by
    self.output_file, or to stdout if the filename is '-'.
    Multiple roundtrips to the server may be made.
    """
    StatusUpdate('Downloading request logs for %s %s.' %
                 (self.config.application, self.version_id))





    tf = tempfile.TemporaryFile()
    last_offset = None
    try:
      while True:
        try:
          new_offset = self.RequestLogLines(tf, last_offset)
          if not new_offset or new_offset == last_offset:
            break
          last_offset = new_offset
        except KeyboardInterrupt:
          StatusUpdate('Keyboard interrupt; saving data downloaded so far.')
          break
      StatusUpdate('Copying request logs to %r.' % self.output_file)
      if self.output_file == '-':
        of = sys.stdout
      else:
        try:
          of = open(self.output_file, self.write_mode)
        except IOError, err:
          StatusUpdate('Can\'t write %r: %s.' % (self.output_file, err))
          sys.exit(1)
      try:
        line_count = CopyReversedLines(tf, of)
      finally:
        of.flush()
        if of is not sys.stdout:
          of.close()
    finally:
      tf.close()
    StatusUpdate('Copied %d records.' % line_count)
于 2012-07-16T06:55:04.987 に答える