【问题标题】:how to log resource bundle key missing如何记录资源包密钥丢失
【发布时间】:2010-03-05 12:48:15
【问题描述】:

我正在使用http://java.sun.com/jsp/jstl/fmt 标签库从 Spring 配置中设置的 Message Resource Bundle 输出消息。消息解析也可以在控制器中进行。

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

有人知道怎么做吗?

【问题讨论】:

    标签: java spring resourcebundle


    【解决方案1】:

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

    我不知道某些方法是否会调用其他方法,因此您必须进行一些试验。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-20
      • 2016-01-03
      • 1970-01-01
      • 2016-12-03
      • 2012-04-10
      • 1970-01-01
      相关资源
      最近更新 更多