rootカテゴリにNullAppenderを設定すると幸せになれるらしい。log4j.xmlに以下のように設定
<appender name="empty" class="org.apache.log4j.varia.NullAppender"> <param name="threshold" value="debug"/> </appender> <root> <level value="fatal" /> <appender-ref ref="empty" /> </root>
自分の作ったクラスのカテゴリには別のアペンダを設定
<appender name="console" class="org.apache.log4j.ConsoleAppender"> <param name="threshold" value="debug"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%-5p %d [%t] %m %n"/> </layout> </appender> <category name="jp.paulownia" additivity="false"> <priority value="debug" /> <appender-ref ref="console"/> </category>
こうするとjp.paulowniaパッケージ以下のクラスのログのみがコンソールに出力される。
og4j.xmlとlog4j.propertiesが両方クラスパスにあるとlog4j.xmlの設定を使うそうだ。log4j.propertiesの書式はわからん。
と思ったけど
velocity.logを吐き出す話でしたか。VelocityServletを使ってWebアプリに組み込むとき(VelocityEngineクラスを使うとき)はこの方法でいいんだけど、Velocityクラスを使っているとこれではダメだったような気がする…