質問
Mavenビルド用のロギングを構成するにはどうすればよいですか? Mavenが生成するログは、各ログステートメントでタイムスタンプなどの十分な情報を提供していません。 Mavenが使用するログ構成ファイルはどこですか?
解決
これはまだいくつかのようです 閉まっている あなたが見ることができるように、Mavenで問題
https://issues.apache.org/jira/browse/mng-519
提供された回避策はそれほど悪くないように見えますが、Mavenインストールを変更する必要があります。
他のヒント
あなたはこれを知っているかもしれません、そしてそれは日付を印刷するのではなく、使用します mvn -X
冗長出力を印刷する。
さらに、Mavenの出力を他のユーティリティにいつでもパイプすることができます(シェル環境には中途半端な有能なツールが含まれていると仮定します)。例えば mvn -X clean | awk '{print "("d")"$0}' "d=$(date)"
Mavenの各行の前に日付を印刷します。日付のフォーマットを気にしませんでしたが、それは簡単に引数で行われます date
実行可能。これは、インタラクティブなユーザー入力を必要とするMavenコマンドでは実際には機能しないことに注意してください。 maven archetype:generate
.
@Whaleyが提供する回答は良い方向です。ただし、$(日付)は最初に一度だけ評価され、その後同じままです。で言及されたアプローチを使用する必要がありました タイムスタンプをstdinにプレップするためのUnixユーティリティはありますか?:
mvn -X <goals> | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }'
バージョン3.1および3.2のMavenは、SLF4Jベースのロガーのよりシンプルな構成を可能にします。コマンドラインで「-l logfile」を指定でき、simpleLoggerのデフォルト構成は構成ファイルにあります conf/logging/simplelogger.properties
.
デフォルトのTimestampts(開始からミリ秒)をオンにする場合は、このファイルのプロパティを単純に変更できます。 org.slf4j.simpleLogger.showDateTime=true
.
@eckesが提案したように、デフォルトのロギング構成ファイルは、Maven 3.1.0以降/conf/logging/simplelogger.propertiesで利用できます。
変更「org.slf4j.simplelogger.showdateTime」プロパティ値「true」へ
org.slf4j.simpleLogger.showDateTime=true
DateTimeFormatを変更するには、デフォルトがミリ秒単位の相対時間であるためです。
simpleLogger.propertiesファイルに以下の行を追加します。
org.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS
参考文献:
Maven Logging: https://maven.apache.org/maven-logging.html
DateFormats: http://docs.oracle.com/javase/1.5.0/docs/api/java/text/simpledateformat.html