ちょっとまとめてみることにしました。
まずLog4jの設定ファイルは、
環境変数の値を利用することが可能です。
利用する方法は、
とするだけです。
それだけで読み込んだときに環境変数の値に置換されます。
設定値となる場所ならどこでも使えるはずです。
例えばtomcatでLog4jを使う場合は、
${catalina.home}/logs/trace.log
なんて書き方ができます。
これでtomcatのlogsフォルダへログを出力できます。
アペンダの参照を環境変数で定義すれば、
起動方法によってログの出力先を変更するようなこともできます。
地味に応用範囲が広いので、
使い方を練習しておくと得するかも?
2012/08/30追記:
すいませんでしたぁ!!
環境変数ではなくシステムプロパティでした!
手っ取り早い話は、星野政利の日記を参照してください。
一言コメントをもらったら直したというのに…恥をさらしまくっていたよ~
ちなみに起動時のオプション以外でどうにかしたい場合は、
以下のコードとかで環境変数をシステムプロパティに注ぎ込むって手もあります。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Map; | |
import java.util.Properties; | |
public class SystemPropertiesTest { | |
public static void main(String[] args) { | |
Properties property = System.getProperties(); | |
Map<String, String> env = System.getenv(); | |
for (Map.Entry<String, String> keyValue : env.entrySet()) { | |
if (!property.containsKey(keyValue.getKey())) { | |
property.setProperty(keyValue.getKey(), keyValue.getValue()); | |
} | |
} | |
} | |
} |
え?邪道?
ですよね~
0 件のコメント:
コメントを投稿