[Seasar-user:4243] Re: Seasarでのlog4jの出力設定について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2006年 8月 3日 (木) 04:30:19 JST


小林 (koichik) です.

Date:    Thu, 03 Aug 2006 02:37:25 +0900
From:    [E-MAIL ADDRESS DELETED]
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:4242] Seasarでのlog4jの出力設定について

> log4jで出力先をクラス毎に変えたいのですが、うまくいきません。
> 
> 例えば。
> 
> aaa.ccc.DDDというクラスとして、
> 
> ---log4j---抜粋
> log4j.logger.aaa.ccc.DDD=DEBUG,XXXX
> 
> としてもうまく動作しません。
> 
> ログには、
> 2006/08/03 [INFO ] aaa.ccc.DDD$$EnhancedByS2AOP$$122d9c - メッセージ
> と表示されます。
> 
> $$EnhancedByS2AOP$$122d9cの部分が影響しているのでしょうか?

S2AOP でエンハンスされたクラスがカテゴリとして使われているようですね.
通常は次のようにリテラルを使用してカテゴリを指定すると思うのですが,

private static final Log logger = LogFactory.getLog(DDD.class);

もしかすると

private final Log logger = LogFactory.getLog(getClass());

のようになっているのでしょうか?
このように実際のクラスを指定してしまうと,S2AOP を適用した
クラスの名前は特定できないため,クラス毎にロギングの設定を
することは困難になります.

ロガーのカテゴリにリテラルを使えば大丈夫だと思います.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>




Seasar-user メーリングリストの案内