2016-04-27 4 views
0

私のJavaプロジェクトには、データベースにホスト名、ユーザー名、パスワードを含むdatabase.propertiesファイルがあります。私は自分のコードでデータベースに接続するためにそれらを使用します。問題は、log4jを使用し、log4j.propertiesファイルの中にデータベースのホスト名、ユーザー名、パスワードを設定する必要があることです。これらのプロパティは、log4jがデータベース内のメッセージを記録できるようにするために必要です。別の.propertiesファイルの.propertiesファイルキーを使用する

私のプロジェクトではlog4jを使用するいくつかのモジュールがあるので、複数のファイルにデータベースプロパティを設定する必要があります。

log4j.propertiesファイルのdatabase.propertiesファイルのキーを使用する方法はありますか?

答えて

0

PropertyConfiguratorを使用し、両方のプロパティファイルを読み込み、log4j.propertiesファイルの一部のプロパティをdatabase.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); 
関連する問題