簡體   English   中英

App Engine啟動和日志記錄問題

[英]App Engine startup & logging woes

最終使我的“ Hello World”網絡應用程序在App Engine開發服務器中工作后,我將其上傳到雲中並立即解決了問題。

(第一個問題是我的應用程序啟動時間超過30秒;我在JVM上使用Armed Bear Common Lisp(ABCL),並且我的應用程序插入了大量代碼。我提到這並不是在尋求幫助(並且我沒有收到“超時”異常),但是如果它與以下所述的其他問題有任何關系。)

下一個問題是,我在App Engine控制台中看不到java.util.logging.Logger日志消息(來自Java或Lisp代碼)。 我已經在我的logging.properties文件中設置了.level=FINER ,但是除了一條INFO級別的消息說“ Startup completed in -0.001 seconds.之外,我沒有看到使用開發服務器看到的任何消息Startup completed in -0.001 seconds. ,發送到stdout

我看到的另一條消息是代碼中的異常,這表明未調用servlet的init方法或無法從web.xml文件中讀取context-param值(通過GenericServlet.getInitParameter() )。 我已經在我的web.xml文件中添加了<load-on-startup>1</load-on-startup> ,但這並沒有幫助。 我不知道我是否應該已經使用system-properties在我appengine-web.xml的文件,而不是context-param中的元素web.xml (我現在正在檢查兩者,沒有明顯的效果。)但是,如果我有日志消息,則可以調試它。

在與該異常相同的日志消息中,還包含文本javax.servlet.ServletContext log: unavailable ,這可能是一個線索,但是Google並未為此提供任何明顯的線索。

我向我的應用程序添加了一個簡單的“ Hello World” servlet,該應用程序調用log.severe()log.info()嘗試使所有日志消息出現在Google Cloud Platform Console Log Viewer (或舊版AppEngine)中日志查看器 )。 運行此命令時,我不會收到log: unavailable消息,但也不會收到任何日志消息。

我忍不住想念明顯的東西。 人們在哪里可以在Google Cloud Platform Console中查看其Java日志消息?

好的,我已經解決了我的日志記錄問題。 Oracle Java 7文檔說使用Logger.getGlobal()但是Google java-docs-samples代碼使用Logger.getLogger(ClassName.class.getName()) 我使用的是前者,它默默地失敗了。

如果將它記錄在某處,或者文檔中的任何代碼片段實際使用了日志消息,那將是很好的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM