私は、バージョン 6.5.0 の Scala でTwitter のロギング フレームワークを使用しています。
私はおもちゃの使用例を書きました:
import com.twitter.logging._
object TestFormatter extends Formatter
{
override def format( record : java.util.logging.LogRecord) = "TEST %s> ".format( record.getLevel.getName ) + formatText(record) + lineTerminator
}
object Main extends App
{
override def main( args : Array[String] ) : Unit =
{
// obtain a logger
val log = Logger.get( getClass )
// clear any existing message handlers
Logger.clearHandlers
// add a new handler, using my toy formatter
log.addHandler( ConsoleHandler( TestFormatter, Some( Level.DEBUG ) )() )
// log a couple of test messages
log.debug( "DEBUG LOG" )
log.warning( "WARNING LOG" )
}
}
クラス TestFormatter は実際には必要ありませんが、私の問題を強調するのに役立ちます。このコードからの出力として、これから見る必要があるのは、次の行に沿ったものであると確信しています。
TEST DEBUG> DEBUG LOG
TEST WARNING> WARNING LOG
ただし、実際に得られるのは次のとおりです。
TEST WARNING> WARNING LOG
WARNING: WARNING LOG
これにより、次の 2 つの問題が発生します。
- 既存のハンドラーをクリアしたにもかかわらず、他のハンドラーも警告メッセージを処理したのはなぜですか? -解決済み
- ロガーのレベルをデバッグに設定すると、デバッグ レベルで記録したメッセージが処理されないのはなぜですか?
誰かがこれらの問題のいずれかに光を当てることができれば、私は最も感謝しています.