ひがやすを技術ブログ

電通国際情報サービスのプログラマ

log4j

Flexを使うとアプリケーションのlog4jのログが出力されなくなります。Flexのログは出力されるのに。これは恐らく、ClassLoaderのせいです。Flexのライブラリは、WEB-INF/flex/jarsで管理されているので、特殊なClassLoaderを使っているのでしょう。でも、ログが出力されないのは困ったものです。
しかし、さっきやっと対応策が分かりました。WEB-INF/flex/jarsのjarファイルをWEB-INF/libに移動します。これで、ログが出力されるようになります。
このテクニックを使えば、Flex純正のAMFGatewayでSeasar2と連携するAdapter(OpenAMFのInvokerみたいなやつ)を作れそうな気がする。後で、やってみます。
わざわざ、S1のAMFGatewayを移植した意味がなくなってしまいますが、純正を使うにこしたことはないでしょう。新しいFlash Remotingの内部動作もかなり分かったしね。