1
Javaベースのコマンドラインツールを開発中です。私は、slf4jのログ抽象化を利用したいと思います。アプリケーションは、定期的にJavaコマンドラインツール、冗長出力フラグ
java -jar myapp.jar someparameter
は、アプリケーションのようなstdout
の「プレーン」CLI出力を与えるものと呼び出され
:アプリケーションが追加で呼び出される代わりに
/some/file1
/some/file2
--verbose
フラグ/オプション
java -jar myapp.jar --verbose someparameter
次いで、アプリケーションは、より高度なロギング与えなければならない:--verbose
が提供されたかどうかを決定することは容易であるものの
16:06:09.031 [main] DEBUG com.example.MyApp - Starting application.
16:06:09.031 [main] DEBUG com.example.MyApp - Entering directory /some/.
16:06:09.046 [main] INFO com.example.MyApp - /some/file1
16:06:09.046 [main] INFO com.example.MyApp - /some/file2
(例えば)jCommander CLIライブラリを使用することにより、SLF4Jは、実行時にルートロガーレベルを設定できるようにしていないよう、またSLF4Jは、実行時にログエントリのパターンレイアウトを変更することができません。
- 両方のログレベルを変更すると、実行時にエントリーパターンレイアウトをログに記録するためのオプション(または起動中に少なくとも)私は左のですか?
- は私がSLF4J抽象化レイヤーを使用しての私の高貴な立場を控え、代わりに、実際の根本的なロギング実装を使用しなければならない
- 他のJavaベースましたか(... logback、slf4j2、それをすること)コマンドラインツールはこの課題を解決しますか?