たぷつきません

おなかがでてきた。もうたぷついてるやん。

jettylauncherでlog4jを動かすには

 jettyのLogImplもLogFactoryも使いたくないのに、どんな設定をしてもjettyのLogが使われる。ストレスが積もっていたのでjettyもjettylauncherも全部ソース参照できるようにしてeclipseから原因を追ったところ、jettyではなくjettylauncherが勝手にorg.apache.commons.logging.LogFactoryをorg.mortbay.log.FactoryでSystem.setPropertyしていたことが判明。そりゃ何やっても動かんよ… orz
 そんなわけでjettylauncher1.3.0のソースを改造して再構築したrunner.jarを作成しましたので、ここに転がしておきます。入れ方ですが、まずECLIPSE_HOME/plugins/com.iw.plugins.jettylauncher_1.3.0のrunner.jarをリネームしておいてダウンロードしたrunnner.jarを置きます。それだけ。手元では5.1.10で確認しましたがjetty5.xであればどれも大丈夫なはずです。内容が心配な場合は、runner.jar内のPluginRunner.javaを元のjar内のものとdiffすると良いでしょう。ま、大した事は何もしてませんが。
 それと忘れちゃならないのがVM引数にLogFactoryクラスを登録することです。指定しないとjettyのものが使われますので、

 -Dorg.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl

…が必要です。
 ていうかこのログってlog4jに限った説明ではないですね。「apache.commons.loggingのLogFactoryを使うには」が妥当でした。