2016-12-26 2 views
0

Github(https://github.com/connecta-solutions/connecta-framework)とTravis(https://travis-ci.org/connecta-solutions/connecta-framework)を使用して、Apache Metamodelを依存関係の1つとして使用するオープンソースプロジェクトをホストしてビルドします。Travisの最大ログサイズとライブラリ生成ログを除きます

私は多くの単体テストを行っていませんが、Metamodelの機能を使用する特定のテストで生成されたログは巨大で、Travisによって決定された4MBのログサイズを渡しますので、次のメッセージでビルドを終了します。

The log length has exceeded the limit of 4 MB (this usually means that the test suite is raising the same exception over and over). 

The job has been terminated 

私が取得ログの大半を、通常、次の出力を与えるメタモデル、内部のコンパレータから重要でないデバッグメッセージです:理想的な状況は、トラヴィスは何とか重要でないログとして、これを受け入れたということでした

18:18:23.519 [main] DEBUG o.a.metamodel.util.ObjectComparator - compare(Sul,50) 
18:18:23.519 [main] INFO o.a.metamodel.util.ObjectComparator - Using ToStringComparator because no apparent better comparison method could be found 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - SUM(csv_cities.csv.vendas).hashCode() 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - obj is null, returning constant 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - obj is null, returning constant 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - obj is a regular object, returning hashCode 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - obj is a regular object, returning hashCode 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - obj is a regular object, returning hashCode 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - obj is null, returning constant 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - obj is null, returning constant 
18:18:23.519 [main] DEBUG o.a.metamodel.util.EqualsBuilder - append(false) 
18:18:23.519 [main] DEBUG o.a.metamodel.util.EqualsBuilder - append(true) 
18:18:23.519 [main] DEBUG o.a.metamodel.util.ObjectComparator - compare(Sul,50) 
18:18:23.519 [main] INFO o.a.metamodel.util.ObjectComparator - Using ToStringComparator because no apparent better comparison method could be found 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - SUM(csv_cities.csv.vendas).hashCode() 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - obj is null, returning constant 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - obj is null, returning constant 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - obj is a regular object, returning hashCode 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - obj is a regular object, returning hashCode 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - obj is a regular object, returning hashCode 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - obj is null, returning constant 
18:18:23.519 [main] DEBUG org.apache.metamodel.util.BaseObject - obj is null, returning constant 
18:18:23.519 [main] DEBUG o.a.metamodel.util.EqualsBuilder - append(false) 
18:18:23.519 [main] DEBUG o.a.metamodel.util.EqualsBuilder - append(true) 

すばやくできるあなたが問題に直面したときに重要なことです。とにかく、私はこのように、そうするlog4jのために引数を渡し、警告のみ、エラーを取得するには、ログレベルを下げることを試みた:私は後でLogbackは、このメタモデル機能のログエンジンだったことに気づいた何

mvn test -Dorg.slf4j.simpleLogger.defaultLogLevel=warn 

Log4jのようなパラメータでLogbackのログレベルを下げることはできないことがわかった。しかし、私はログバックを取り除き、アプリケーション全体に使用している標準的なロガーを使用する方法を見つけられなかったので、メッセージを出力しようとするレベルを制御することができました。

これはTravis CIの最後の言葉ですか? 4MBのログサイズを超えても、すべてのログを保持する方法はありませんか?

メタモデル内の重要でない部分のみを削除するにはどうしたらいいですか?

ログ全体をdevモードにしてトラビスビルドで省略すると完璧ですが、できなければログのこの部分を永遠に省略することができます。

答えて

1

プロジェクトのsrc/test/resourcesに配置されたlog4j.xml設定ファイルを使用して、特定の名前空間のログを調整してください(例:org.apache.metamodel)。

例は、メタモデルのコードベースにあります。https://github.com/apache/metamodel/blob/060884c17d1c5c35348d2cb675bed1c404013579/jdbc/src/test/resources/log4j.xml#L12

+0

ニース、トマス!今すぐ試してみましょう:) – ViniciusPires

+0

MetamodelがまだLogbackを使用しているので、面白いことですが、Metamodelの依存関係はlog4jにしか依存しません。どのモジュールがこの依存関係を引き起こしているのかを調べて修正しようと思います... – ViniciusPires

+0

lo4jの代わりに使用できるすべてのロガーモジュールを除外しています。どうもありがとう :) – ViniciusPires

関連する問題