Java 如何记录丢失的资源包密钥

Java 如何记录丢失的资源包密钥,java,spring,resourcebundle,Java,Spring,Resourcebundle,我使用标记库从Spring配置中设置的消息资源包输出消息。消息解析也可以进入控制器 我想记录在资源包文件中找不到密钥的情况 有人知道怎么做吗?Spring使用MessageSource来检索消息,因此一个解决方案是编写自己的MessageSource来封装Spring,并覆盖getMessage方法来插入日志 类似以下内容(未测试): 我不知道是否有一些方法正在调用其他方法,因此您必须进行一些实验 <bean id="messageSource" class="com.acme.Logg

我使用标记库从Spring配置中设置的消息资源包输出消息。消息解析也可以进入控制器

我想记录在资源包文件中找不到密钥的情况


有人知道怎么做吗?

Spring使用
MessageSource
来检索消息,因此一个解决方案是编写自己的
MessageSource
来封装Spring,并覆盖
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 {
    // ...
  }
}