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 {
// ...
}
}
Я не знаю, вызывают ли некоторые методы другие, поэтому вам придется немного поэкспериментировать.