Spring構成でセットアップされたメッセージリソースバンドルからメッセージを出力するためにhttp://java.sun.com/jsp/jstl/fmtタグライブラリを使用しています。また、メッセージ解決はコントローラーで行うことができます。
リソースバンドルファイルにキーが見つからない状況をログに記録したいと思います。
誰かがそれを行う方法を知っていますか?
Spring構成でセットアップされたメッセージリソースバンドルからメッセージを出力するためにhttp://java.sun.com/jsp/jstl/fmtタグライブラリを使用しています。また、メッセージ解決はコントローラーで行うことができます。
リソースバンドルファイルにキーが見つからない状況をログに記録したいと思います。
誰かがそれを行う方法を知っていますか?
Springはを使用しMessageSource
てメッセージを取得するため、1つの解決策は、Springメッセージ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 {
// ...
}
}
一部のメソッドが他のメソッドを呼び出しているかどうかはわかりませんので、少し実験する必要があります。