2011-08-23 143 views
1

我得到的系統出了以下訊息話題:「的FacesMessage(S)已經排隊....」。在JSF 1.2中,如何更改RenderResponsePhase的日誌記錄級別?

與Sun的Java服務器解決方案Faces實現(1.2_07-B03-FCS)是這個web.xml中添加:

<context-param> 
    <description> 
    Set to true to disable the following warning message: 
    FacesMessage(s) have been enqueued, but may not have been displayed 
    </description> 
    <param-name>com.ibm.ws.jsf.disableEnqueuedMessagesWarning</param-name> 
    <param-value>true</param-value> 
</context-param> 

但由於某些原因,解決方案不符合本實行,我的工作使用 Mojarra(1.2_15-b01-FCS)。

本文檔說我需要簡單地更改RenderResponsePhase的記錄器。
Faces Message(s) habe been encoded...

從本質上講,我覺得我問的是什麼是記錄器類我需要配置的RenderResponsePhase。

回答

5

這方面的參數是針對IBM的這是WebSphere的一部分面孔客戶端框架。但是你似乎根本沒有使用它。添加該上下文參數沒有意義。完全刪除它。

Mojarra使用java.util.logging API作爲記錄器。 JSF生命週期記錄器(其RenderResponsePhase使用)的記錄​​器名稱是:

javax.enterprise.resource.webcontainer.jsf.lifecycle 

的記錄器是由configureable文件JRE/lib/logging.properties。你首先需要確定你的服務器環境中使用何種JRE(注:JDK也有一個JRE!),然後相應地修改其JRE/lib/logging.properties文件中添加以下行:

javax.enterprise.resource.webcontainer.jsf.lifecycle.level = WARNING 

這將設置爲loggable一級向上到「警告」。 「FacesMessage(s)已被排隊」消息是一個「信息」。您需要重新啓動服務器(以及IDE,如果有的話)才能使更改生效。

我不知道它是多麼有用的是禁用它。你試圖隱藏的「問題」的根本原因可能會更好地解決。

+0

我想知道是否對於Tomcat 7.0.22,如果可以在conf/logging.properties中添加該行以避免每個Tomcat實例上的消息。快速檢查似乎不起作用。 – Pixel

+0

@Pixel:將此VM參數添加到Tomcat啓動:'-Djava.util.logging.config.file =/path/to/tomcat/conf/logging.properties'。否則,JRE將被使用。 – BalusC

+1

更好的信息(也由BalusC)是[這裏](http://stackoverflow.com/questions/7363704/jsf2-logs-with-tomcat)。 – Pixel

相關問題