我使用GoogleAppEngine for java創建了一個默認項目,當我在谷歌服務器上部署我的應用程序時,我對第一個請求有以下警告消息。GoogleAppEngine日誌警告
log4j:WARN記錄器(DataNucleus.Connection)找不到appender。
log4j:WARN請正確初始化log4j系統。
日誌工作正常,但有些請求被延遲了這個問題。
如何正確配置它?
我使用GoogleAppEngine for java創建了一個默認項目,當我在谷歌服務器上部署我的應用程序時,我對第一個請求有以下警告消息。GoogleAppEngine日誌警告
log4j:WARN記錄器(DataNucleus.Connection)找不到appender。
log4j:WARN請正確初始化log4j系統。
日誌工作正常,但有些請求被延遲了這個問題。
如何正確配置它?
是什麼讓你確信這是拖延一些你的要求?
GAE不像一個標準的servlet容器。在幕後,它會卸載任何空閒的web應用程序,然後只有當它獲得該webapp的新請求時才加載它們。這基本上等於完成您的應用程序的重新部署,並且它在 GAE收到請求之後纔開始,直到。因此,與後續請求相比,任何觸發加載操作的請求都將明顯延遲。
但是有很多事情正在對延遲做出貢獻,我認爲未初始化的log4j設置並沒有帶來太大的實際差異。
此消息表示沒有找到log4j配置。
您必須將log4j的配置放入應用程序類路徑中,例如放入名爲log4j.properties
的文件中。
配置,例如,將是:
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n
如果你的項目是基於Maven的,那麼最好的地方,把log4j.properties
將src/main/resources
這不是Maven項目,它是默認的GoogleAppEngine項目。 – Victor
好的,然後把它放在你放置所有源的地方 –