2015-03-02 70 views
0

我試圖在CentOS 6.5上設置JBoss 7.2.0 Final來處理我們軟件的4種不同部署。我不知道我是否已經正確設置了某些東西,但似乎一切正常,但server.log沒有結束,我想我告訴它在4次部署中的3次中保存。JBoss 7.2.0最終在意想不到的地方創建server.log文件

有4個HTTP端口用於部署。它們是:8080,:8180,:9876:9976。我不知道這是否是相關信息,但我提出來,因爲在每個standalone.xml文件中,我使用jboss.socket.binding.port-offset選項來分配端口。似乎完美工作的唯一部署是:8080,其中有jboss.socket.binding.port-offset:0:8180jboss.socket.binding.port-offset:100

每個部署住在自己的目錄,例如

/opt/jboss-eap-6.1/target/standalone8080/ 

/opt/jboss-eap-6.1/target/standalone9876/ 

standalone.xml文件每個部署(/opt/jboss-eap-6.1/target/standalone9876/configuration/standalone.xml,例如)時,服務器日誌以相同的方式指定:

<file relative-to="jboss.server.log.dir" path="server.log"/> 

這應該導致server.log被保存在例如 /opt/jboss-eap-6.1/target/standalone9876/log, 中,並且當在每個端口上重新部署軟件時,我已經迴應了$JBOSS_LOG_DIR變量,並且似乎在每種情況下都要正確設置表面。

然而,如上所述,僅端口:8080創建server.log文件中的預期位置(/opt/jboss-eap-6.1/target/standalone8080/log)。

不正確的地方:

--port :8180把它的server.log文件中:8080位置。即,:8180覆蓋server.log文件/opt/jboss-eap-6.1/target/standalone8080/log

--Port :9876將其server.log文件放入/opt/jboss-eap-6.1/target/standalone/log。也就是說,它會創建一個名爲standalone的新文件夾並將文件放在那裏。我將在以前補充說,整個端口:9876部署位於該路徑的文件夾中(/opt/jboss-eap-6.1/target/standalone)。這種明顯的線索讓我覺得還有其他地方有server.log文件路徑的設置。我可能是錯的。

- 最後,端口:9976將其server.log文件放在期望的log目錄的上一級,換句話說,在/opt/jboss-eap-6.1/target/standalone9976

我不知道處理這4個部署的方式是否根本不正確,或者是否有隱藏在某處的設置覆蓋了我所需的路徑。

我看到one poster與一個類似的問題說,他們改變了domain.xml來解決這個問題。我認爲我不能這樣做,因爲我只有一個domain.xml文件(位於/opt/jboss-eap-6.1/domain/configuration)與所有4個部署相關聯。

Another post建議刪除standalone.xml文件中的<file>標記中的「相對於」位。我試圖用端口:9876如下:

<file path="/opt/jboss-eap-6.1/target/standalone9876/log/server.log"/> 

這不適合我。 server.log文件仍然以

<file path="/opt/jboss-eap-6.1/target/standalone/log/server.log"/> 

任何想法我做錯了什麼?是否只有另一個地方需要聲明我的日誌路徑,或者這4個服務器的設置方式不正確?

回答

2

查看每個配置目錄中的每個logging.properties文件。您可能只需更新一次即可將路徑更改爲{jboss.server.log.dir}/server.log。然後,當你啓動每臺服務器時,你需要指定jboss.server.log.dir目錄。

./bin/standalone.sh -Djboss.server.log.dir=$JBOSS_HOME/target/standalone8080/log 

$JBOSS_HOME/bin/standalone.conf文件中可能有一個巧妙的方法來處理它。

+0

啊,非常感謝!實際上,每個部署的'logging.properties'包含一個硬編碼的行,如'handler.FILE.fileName =/opt/jboss-eap-6.1/target/standalone8080/log/server.log'。除了'standalone8080'文件夾中的'server.log'之外,路徑都是不同的,都是錯誤的。我試着改變路徑並使用'-D'選項調用'standalone.sh'。結果是沒有進行路徑替換,並且'server.log'創建在名爲'{jboss.server.log.dir}'的文件夾中'standalone.sh'中。 – pjd 2015-03-03 22:27:34

+0

因此,最後我修改了'logging.properties',在'server.log'的正確路徑中進行硬編碼。只要我瞭解更多關於JBoss的知識就足夠了。再次謝謝你! – pjd 2015-03-03 22:27:38

+0

每次啓動服務器時,'logging.properties'文件都會被覆蓋。 IIRC有一個JIRA希望能夠解決這個問題,但是我們通常在設置'jboss.server.log.dir'屬性時會出現雞和蛋的問題。 – 2015-03-04 18:53:13

相關問題