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モードにしてトラビスビルドで省略すると完璧ですが、できなければログのこの部分を永遠に省略することができます。
ニース、トマス!今すぐ試してみましょう:) – ViniciusPires
MetamodelがまだLogbackを使用しているので、面白いことですが、Metamodelの依存関係はlog4jにしか依存しません。どのモジュールがこの依存関係を引き起こしているのかを調べて修正しようと思います... – ViniciusPires
lo4jの代わりに使用できるすべてのロガーモジュールを除外しています。どうもありがとう :) – ViniciusPires