Безопасный рендеринг конфигурации Typesafe

У меня есть следующий код

log(config.render())

Однако, если у меня есть пароли в конфигурации, они появятся в журнале. Есть ли простой способ устранить это? я ищу что-то подобное

log(config.map { if ("password" in it.key.toLowerCase()) "***" else it.value }
    .render())

person Sergey Mashkov    schedule 04.07.2016    source источник


Ответы (1)


На данный момент единственное ясное решение - сделать так

val contentHiddenValue = ConfigValueFactory.fromAnyRef("***", "Content hidden")
log.info(config.root()
        .withoutKey("security")
        .withValue("security", contentHiddenValue)
        .render())

Очевидным недостатком является то, что он скрывает только точное поддерево конфигурации.

person Sergey Mashkov    schedule 05.07.2016