2010-03-05 64 views

回答

1

Spring使用一個MessageSource檢索消息,因此一個解決辦法是寫自己的MessageSource封裝了一個春天,並覆蓋getMessage方法來插入你的日誌。

像下面這樣(未測試):

<bean id="messageSource" class="com.acme.LoggingMessageSource"> 
    <property name="pathtru"> 
    <bean class="org.springframework.context.support.ResourceBundleMessageSource"> 
     <property name="basenames"> 
     <list> 
      <value>buttons</value> 
      <value>labels</value> 
     </list>  
     </property> 
    </bean> 
    </property> 
</bean> 

與類:

public class LoggingMessageSource implements MessageSource { 

    private MessageSource pathtru; 

    public String getMessage(String code, Object[] args, String defaultMessage, Locale locale) { 
    // ... 
    } 

    public String getMessage(String code, Object[] args, Locale locale) throws NoSuchMessageException { 
    // ... 
    } 

    public String getMessage(MessageSourceResolvable resolvable, Locale locale) throws NoSuchMessageException { 
    // ... 
    } 
} 

如果有些方法是調用其他的人,所以你將不得不嘗試我不知道一點點。

+0

謝謝!這樣可行。我剛剛來到相同的解決方案:) – glaz666 2010-03-05 13:40:39