13

春によってロードされたプロパティファイルのすべてのコンテンツを単純にログに記録することは可能<context:property-placeholder />ですか?

ありがとう

4

2 に答える 2

12

のログレベルorg.springframework.core.env.PropertySourcesPropertyResolverを「debug」に設定できます。その後、解決中にプロパティの値を確認できます。

于 2014-07-17T04:45:20.403 に答える
2

あなたはこのようにそれを行うことができます:

<context:property-placeholder properties-ref="myProperties"/>

<bean id="myProperties"
      class="org.springframework.beans.factory.config.PropertiesFactoryBean">
  <property name="locations">
    <list>
      .. locations
    </list>
  </property>
</bean>

以下のようなロギングBeanを追加します(ここではアノテーションベースでslf4j apiを使用):

@Component
public class PropertiesLogger {
  private static Logger logger = LoggerFactory.getLogger(PropertiesLogger.class);

  @Resource("myProperties")
  private Properties props;

  @PostConstruct
  public void init() {
    for (Map.Entry<Object, Object> prop : props.entrySet()) {
      logger.debug("{}={}", prop.getKey(), prop.getValue());
    }
  }
}
于 2013-01-13T13:44:32.353 に答える