[scala]log4jを使う
メモ。
Javaだとstaticなフィールドで使うのだけれど、scalaはclassとobjectに分かれているので、一瞬悩みます。
遅延評価も有効だろうとの判断からlazyにしています。
これであってるかな?
import org.apache.commons.logging.LogFactory import org.apache.log4j.xml.DOMConfigurator // エントリとなるオブジェクト object Foo { DOMConfigurator.configure("./log4j.xml"); private lazy val logger = LogFactory.getLog(Foo.getClass) // ... logger.trace("Foo") // ... def main(args:Array[String]) { // ... } }
import org.apache.commons.logging.LogFactory object Bar { private lazy val logger = LogFactory.getLog(Bar.getClass) } class Bar { import Bar.logger // ... logger.trace("Bar") }