[英]Use a .properties file keys in another .properties file
我的Java项目中有一个database.properties
文件,其中包含主机名,用户名和数据库密码。 我在代码中使用它们来连接数据库。 事实是,我使用log4j,并在log4j.properties
文件中必须设置数据库主机名,用户名和密码。 这些属性是必需的,以便log4j可以在数据库中记录消息。
在我的项目中,我有几个使用log4j的模块,因此我必须在多个文件中设置数据库属性。
有没有办法使用log4j.properties
文件中database.properties
文件中的密钥?
您可以使用PropertyConfigurator ,加载两个属性文件,并用database.properties
内容替换log4j.properties
文件的某些属性。
然后,将其传递给配置器。
Properties dbProps = new Properties();
FileInputStream in = new FileInputStream("database.properties");
dbProps.load(in);
in.close();
Properties log4jProperties= new Properties();
FileInputStream in2 = new FileInputStream("log4j.properties");
log4jProperties.load(in2);
in2.close();
// replace things
log4jProperties.setProperty("log4j.appender.DB.URL", dbProps.getProperty("db.url"));
log4jProperties.setProperty("log4j.appender.DB.user", dbProps.getProperty("db.usr"));
log4jProperties.setProperty("log4j.appender.DB.password", dbProps.getProperty("db.pwd"));
// configure Log4j
PropertyConfigurator.configure(log4jProperties);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.