我是Play 2.1的新手,正試圖找出將Play部署到我們的操作環境的最簡單方法。該出的現成播放2.1功能,擁有最有希望是從「play dist」啓動shell腳本無法在JAR文件中找到logger.xml
play dist
它建立一個包含所有支持JAR來運行我的應用程序,它啓動了整個ZIP文件以及一些啓動shell腳本事情。像冠軍一樣工作。
問題是我的應用程序需要更多的細粒度日誌記錄,而不是現成的單一大小日誌/ application.log所提供的日誌。在我的開發箱中,我想出瞭如何創建和配置conf/logger.xml來爲每個控制器類執行老派主題日誌記錄(實際上任何類,但現在讓我們繼續使用控制器)。當我運行遊戲控制檯時,這在我的開發框中工作正常,但是當通過「play dist」構建我的應用程序並使用啓動shell腳本在應用程序服務器上啓動它時,我從來沒有獲得配置此記錄器的日誌文件生產。我也相信,但沒有這些日誌我不知道,啓動命令也無法找到我爲我的項目配置的全局對象。
調查我的應用程序的JAR文件我可以看到conf/application.conf和conf/logger.xml文件位於JAR中,它們只是在應用程序啓動時未加載。
如何獲取啓動腳本的執行以從JAR文件加載logger.xml?我真的不得不在命令行上用-D指定它,還是應該直接從應用程序的JAR中加載?
我得出了類似的結論。 ZIP文件+由「play dist」生成的啓動腳本務必在生產機器上用-D進行修改,以使其正常工作。這感覺就像是對我來說「玩遊戲」的錯誤,但它可以解決。 –
Play 2.1.1中沒有辦法讓它進入類路徑從應用程序的JAR中加載logger.xml。 -Dlogger.resource = logger.xml無法找到該文件。我只通過將logger.xml複製到分發目錄和-Dlogger.file = conf/logger.xml來獲得成功。嘆。 –
有趣!我仍然在Play 2.0.4上。您可以通過嘗試'.getClass()。getResource(「/ conf/logger.xml」')來調查logger.xml是否在您的類路徑中。無論如何,我發現我需要編寫自己的啓動腳本,其他原因。 –