位于Google App Engine Java应用程序的本地日志文件位于何处

时间:2018-02-22 17:59:18

标签: google-app-engine

我正在使用我的Google App Engine(GAE)应用程序写入日志,但我无法找到它存储的位置。我在Stackoverflow上阅读了很多帖子,但没有一个帖子表明在哪里可以找到它。我正在使用Gradle和IntelliJ在IntelliJ中运行我的应用程序。

1 个答案:

答案 0 :(得分:1)

日志不存储在纯文本文件中,它们存储为SQLite数据库。来自Local Development Server Options

  

--logs_path=...

     

默认情况下,存储本地开发服务器的日志   仅记忆。运行本地开发时指定此选项   服务器将日志存储到文件中,这使日志可用   跨服务器重启。您必须指定目录路径和名称   到SQLite数据库文件。使用。创建SQLite数据库文件   如果文件尚不存在,则指定名称。例如:   --logs_path=/home/logs/boglogs.db

不确定内存存储,但我可以看到我的devserver写入默认的db文件,即使没有明确设置此选项(在Linux上,在PyCharm驱动的devserver的PID上使用lsof):

$ lsof -p 22811 | grep -i log
python2.7 22811 username    4ur  REG       8,3 1648899072   1705871 /tmp/appengine.<app_name>.username/logs.db
python2.7 22811 username   24u   REG       8,3       3608   1712816 /tmp/appengine.<app_name>.username/logs.db-journal
$ file /tmp/appengine.<app_name>.username/logs.db
/tmp/appengine.<app_name>.username/logs.db: SQLite 3.x database

注意:以上是针对Python devserver的,Java有点不同,但在Linux上,可以使用相同的方法来识别保存日志的默认文件的位置和类型。 --generated_dir选项可能是用于覆盖默认位置的选项。来自Command-Line Arguments

  

--generated_dir=...

     

设置创建生成文件的目录。