2017-03-31 22 views
5

私のKotlinプロジェクトでのロギングの目的で、私はkotlin-loggingを使用していますが、これは本当にうれしいですが、非常に重要な点がありません:どのようにすればロガーのログレベルを設定できますか?kotlin-logging loggerの設定方法

デフォルトではinfoに設定されており、デバッグするように設定したいと考えています。 Githubのページには何もないし、レベルをプログラムで設定する方法もないので、kotlin-loggingはslf4jのラッパーであるため、slf4jを調べてみた。私はKotlinでこれを行う方法見当がつかないしかし

-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG 

どうやら私はこのようなシステムプロパティを設定する必要があります。

誰でも私を助けることができますか?

+0

設定ログレベルは、実装ごとに設定されます。 Kotlin-loggingとslf4jは、基本的なロギングlib(log4j etc ')のファサードです。あなたはどちらを使いますか? – oshai

答えて

4

我々はSLF4J APIからログレベルを変更する方法を持っていないと、私たちは、あなたはそれがすべてのためにisLevelEnabled()を持っていることがわかりますslf4jLoggerインタフェースを見ることによって実装

に依存する必要がありますレベル、しかしセッターはありません。したがって、レベルの設定は実装固有であり、使用する基本的なログ記録プラットフォームに基づいています。あなたの質問から


あなたはslf4j背後層としてslf4j SimpleLogger使うように見えます。 SimpleLoggerの場合は、すでに行ったようなプロパティでログレベルを変更することしかできません。 詳細については、this questionを参照してください。

System.setProperty(org.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY, "TRACE"); 

ロガーが作成されると、ログレベルを変更することはできませんのでご注意ください。ロギング・レベルを動的に変更する必要がある場合、SLF4Jでlog4jを使用することができます。

+0

私は実行時にこれを行う方法を必ずしも探していません。ビルドタイムは、このプロジェクトには十分です。 –

+0

こんにちは、私は再び質問を読んで、今私は本当に質問に答えることを望む。 –

0

あなたがAndroid上kotlin-loggingを使用して使用している場合は、簡単な答えは次のとおりです。ちょうどslf4j-handroidを使用しています。

それは(!最近、非推奨)のシンプルなフォークだslf4j-androidが、あなたはあなたのデバッグログを見ることができるようにちょうど設定するシステムプロパティを必要とするような楽しい行動を継承しません。

関連する問題