log4j を使用する Eclipse Java プロジェクトがあります。ファイル パスでアクセスするように log4j 構成ファイルを設定できません。プロジェクトをjarファイルにエクスポートして実行する必要があります。
これが私がしようとしている方法です:
public class Wita {
static Logger logger;
public static void main(String[] args) {
System.setProperty("log4j.configuration", new File("").getCanonicalPath()+File.separatorChar+"resources"+File.separatorChar+"log4j.xml" );
// System.out.println( System.getProperty("log4j.configuration") );
logger = Logger.getLogger(Wita.class.getName());
}
}
システム アウトは、適切な C:\Users\roncsak\eclipse_workspace\WITA\resources\log4j.xmlを出力します。WITAは、プロジェクトのベース フォルダーです。ただし、 -Dlog4j.debug引数を指定してプロジェクトを実行すると、次の結果も返されます。
log4j: コンテキスト クラスローダー sun.misc.Launcher$AppClassLoader@18e3e60 を使用して [C:\Users\roncsak\eclipse_workspace\WITA\resources\log4j.xml] を検索しようとしています。 log4j: sun.misc.Launcher$AppClassLoader@18e3e60 クラスローダーを使用して [C:\Users\roncsak\eclipse_workspace\WITA\resources\log4j.xml] を検索しようとしています。 log4j: ClassLoader.getSystemResource() を使用して [C:\Users\roncsak\eclipse_workspace\WITA\resources\log4j.xml] を検索しようとしています。 log4j: リソースが見つかりませんでした: [C:\Users\roncsak\eclipse_workspace\WITA\resources\log4j.xml]。
別のjarファイルを作成せずに、時間の経過とともにlog4j.xmlを変更したいと思います。どうやってやるの?