Я использую Github (https://github.com/connecta-solutions/connecta-framework) и Travis (https://travis-ci.org/connecta-solutions/connecta-framework) для размещения и сборки моего проекта с открытым исходным кодом, который использует Metamodel для Apache как одну из его зависимостей.Travis max log size & omitting library generated log
Я не делаю много модульных тестов, но журнал, сгенерированный конкретным тестом, который использует функцию Metamodel, является гигантским и передает размер журнала 4MB, определенный Travis, поэтому он выходит из сборки со следующим сообщением:
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, чтобы сделать так, как это:
mvn test -Dorg.slf4j.simpleLogger.defaultLogLevel=warn
То, что я позже понял, что Logback был журнал двигатель для этой функции Metamodel , и я обнаружил, что невозможно уменьшить loglevel Logback с таким параметром, как вы можете в Log4j. Однако я не нашел способ удалить журнал и использовать стандартный логгер, который я использую для всего приложения, тогда я мог бы контролировать, на каком уровне он пытается вывести сообщение.
Это последнее слово Travis CI? Разве нет способа сохранить весь журнал, даже если он пропускает размер журнала 4 МБ?
Если это не так, как я могу удалить только эту несущественную часть журнала внутри Metamodel?
Сохранение всего журнала в режиме детектора и просто исключение его в сборке Travis было бы идеальным, но если я не могу, я могу навсегда забыть эту часть журнала, если нет выбора.
Ницца, Томас! Я дам ему попробовать прямо сейчас :) – ViniciusPires
Смешно, это не работает, потому что моя Metamodel все еще использует Logback, но в вашей ссылке зависимость Metamodel указывает только на log4j. Я исследую, какой модуль приносит эту зависимость, и попытаюсь исправить это ... – ViniciusPires
Я исключил все модули регистратора, которые могли бы использоваться вместо lo4j, и теперь это сработало. Большое спасибо :) – ViniciusPires