質問

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top