logback.xml springproperty: 如何解密密码
logback.xml springproperty: How to decrpyt password
我们正在使用 spring-boot 和 logback 并将数据库用户名和加密密码存储在 spring application.yaml 中。我们如何在 logback.xml 中获取解密的密码,以便 dbAppender 可以连接到数据库?
感谢您的帮助。
application.yaml
datasource:
username: root
password: ENC(xxxxxxxxxxxxxxxxx)
logback.xml
<springProperty scope="context" name="db.user" source="datasource.username"/>
<springProperty scope="context" name="db.password" source="datasource.password"/>
<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
<driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://host_name:3306/datebase_name</url>
<username>${db.user}</username>
<password>${db.password}</password>
</connectionSource>
</appender>
要加密属性,请使用Encryption and Decryption。
要在 logback 中使用属性,请参阅 Logback extensions。
但是,您实际上无法在 logback-spring.xml
内完成。因为它初始化得太早,加密的属性还没有准备好。请参阅 issue。
我们正在使用 spring-boot 和 logback 并将数据库用户名和加密密码存储在 spring application.yaml 中。我们如何在 logback.xml 中获取解密的密码,以便 dbAppender 可以连接到数据库?
感谢您的帮助。
application.yaml
datasource:
username: root
password: ENC(xxxxxxxxxxxxxxxxx)
logback.xml
<springProperty scope="context" name="db.user" source="datasource.username"/>
<springProperty scope="context" name="db.password" source="datasource.password"/>
<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
<driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://host_name:3306/datebase_name</url>
<username>${db.user}</username>
<password>${db.password}</password>
</connectionSource>
</appender>
要加密属性,请使用Encryption and Decryption。
要在 logback 中使用属性,请参阅 Logback extensions。
但是,您实际上无法在 logback-spring.xml
内完成。因为它初始化得太早,加密的属性还没有准备好。请参阅 issue。