Frage

Ich bin mit http://java.sun.com/jsp/jstl/fmt Tag-Bibliothek für Nachrichten von Nachrichtenressourcenpaket ausgibt, das in Spring-Konfiguration eingerichtet ist. Auch Nachricht in Controller Lösung gehen kann.

Ich mag Situationen protokollieren, wenn die Schlüssel nicht in Ressourcenbündel-Datei gefunden.

Hat jede Stelle wissen, wie es zu tun?

War es hilfreich?

Lösung

Frühling verwendet eine MessageSource die Nachrichten abzurufen, um eine Lösung sein könnte Ihre eigene MessageSource zu schreiben, dass die Feder ein und überschreiben die getMessage Methoden kapseln Ihre Protokollierung einzufügen.

So etwas wie die folgenden (nicht getestet):

 <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>

mit der Klasse:

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 {
    // ...
  }
}

Ich weiß nicht, ob einige Methoden, um die andere, die fordern, so dass Sie ein wenig experimentieren müssen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top