2010-11-25 31 views
12

mavenビルドのログを設定するにはどうすればよいですか? mavenが生成するログは、各ログステートメントにタイムスタンプのような十分な情報を提供していません。 mavenが使用するログ設定ファイルはどこにありますか?mavenログファイルの設定

答えて

2

これはまだ思えるあなたが上で見ることができるようにいくつかは、Mavenので問題を閉じて:

https://issues.apache.org/jira/browse/MNG-519

提供回避策があまりにも悪くないに見えますが、あなたはMavenのインストールを変更する必要があります。

8

これは認識している可能性がありますが、日付は印刷されませんが、冗長出力を印刷するにはmvn -Xを使用してください。

さらに、mavenの出力を他のユーティリティにパイプすることもできます(シェル環境には有能なツールの半分が含まれていると仮定します)。例えば、mvn -X clean | awk '{print "("d")"$0}' "d=$(date)"は、mavenの各行の前に日付を出力します。私は日付の書式設定に気にしなかったが、それはdate実行可能ファイルへの引数で簡単に行える。 maven archetype:generateのように対話的なユーザ入力を必要とするmavenコマンドでは、これは実際には機能しません。

5

@whaleyが提供する回答は良い方向です。ただし、$(日付)は最初に1回だけ評価され、その後は同じままです。バージョン3.1で

mvn -X <goals> | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }' 
2

Mavenと3.2 SLF4Jベースのロガーの設定を簡単に許す: 私はIs there a Unix utility to prepend timestamps to stdin?で述べたアプローチを使用する必要がありました。コマンドラインで "-l logfile"を指定することができます。また、SimpleLoggerのデフォルト設定は、設定ファイルconf/logging/simplelogger.propertiesにあります。

デフォルトのタイムスタンプ(開始からのミリ秒)を有効にする場合は、このファイルのプロパティを簡単に変更できます(org.slf4j.simpleLogger.showDateTime=true)。

+0

しかし '-l'は、ログ設定ではなく、 "すべてのビルド出力が行く場所にログファイル" です。 – lexicore

+1

@lexicoreはい、これは私が "-l logfile"と書いたものです – eckes

+0

ビルドログをファイルに変更したいのですが、mvn -l logfileが動作します。 – IcyBrk

1

デフォルトのロギング設定ファイルは、@ keesによって提案されているように、Maven 3.1.0以降の/conf/logging/simplelogger.propertiesにあります。

変更 "org.slf4j.simpleLogger.showDateTime" プロパティ値が "真" に

org.slf4j.simpleLogger.showDateTime=true 

デフォルトはミリ秒単位の相対時間であるとして、dateTimeFormatを変更します。
以下の行をsimplelogger.propertiesファイルに追加してください。

org.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS 

参考文献:
Mavenのロギング:https://maven.apache.org/maven-logging.html
DateFormats:http://docs.oracle.com/javase/1.5.0/docs/api/java/text/SimpleDateFormat.html

関連する問題