From: Sam Hague Date: Thu, 1 Feb 2018 13:43:19 +0000 (-0500) Subject: Use log4j2 size config instead of maxFileSize X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=914a942b70ce3a9871cce46a0b4eca74438fd5a8;p=releng%2Fbuilder.git Use log4j2 size config instead of maxFileSize karaf 4 uses log4j2 rather than log4j. The newer api uses different config for the maxFileSize. Use the new common-functions to set the karaf logging. Change-Id: Ic7fd5c484885e9b1bba0873a50134cf79e74141a Signed-off-by: Sam Hague --- diff --git a/jjb/integration/common-functions.sh b/jjb/integration/common-functions.sh index 9955847e7..0d7184187 100644 --- a/jjb/integration/common-functions.sh +++ b/jjb/integration/common-functions.sh @@ -56,3 +56,53 @@ function set_java_vars() { JAVA_RESOLVED=$(readlink -e "${JAVA_HOME}/bin/java") echo "Java binary pointed at by JAVA_HOME: ${JAVA_RESOLVED}" } # set_java_vars() + +# shellcheck disable=SC2034 +# foo appears unused. Verify it or export it. +function configure_karaf_log() { + local -r karaf_version=$1 + local -r controllerdebugmap=$2 + local logapi=log4j + + echo "Configuring the karaf log... karaf_version: ${karaf_version}" + if [[ "${karaf_version}" == "karaf4" ]]; then + logapi=log4j2 + # FIXME: Make log size limit configurable from build parameter. + sed -ie 's/log4j2.appender.rolling.policies.size.size = 16MB/log4j2.appender.rolling.policies.size.size = 1GB/g' ${LOGCONF} + orgmodule="org.opendaylight.yangtools.yang.parser.repo.YangTextSchemaContextResolver" + orgmodule_="${orgmodule//./_}" + echo "${logapi}.logger.${orgmodule_}.name = WARN" >> ${LOGCONF} + echo "${logapi}.logger.${orgmodule_}.level = WARN" >> ${LOGCONF} + else + sed -ie 's/log4j.appender.out.maxBackupIndex=10/log4j.appender.out.maxBackupIndex=1/g' ${LOGCONF} + # FIXME: Make log size limit configurable from build parameter. + sed -ie 's/log4j.appender.out.maxFileSize=1MB/log4j.appender.out.maxFileSize=30GB/g' ${LOGCONF} + echo "${logapi}.logger.org.opendaylight.yangtools.yang.parser.repo.YangTextSchemaContextResolver = WARN" >> ${LOGCONF} + fi + + # Add custom logging levels + # CONTROLLERDEBUGMAP is expected to be a key:value map of space separated values like "module:level module2:level2" + # where module is abbreviated and does not include "org.opendaylight." + unset IFS + echo "controllerdebugmap: ${controllerdebugmap}" + if [ -n "${controllerdebugmap}" ]; then + for kv in ${controllerdebugmap}; do + module="${kv%%:*}" + level="${kv#*:}" + echo "module: $module, level: $level" + # shellcheck disable=SC2157 + if [ -n "${module}" ] && [ -n "${level}" ]; then + orgmodule="org.opendaylight.${module}" + if [[ "${karaf_version}" == "karaf4" ]]; then + orgmodule_="${orgmodule//./_}" + echo "${logapi}.logger.${orgmodule_}.name = ${orgmodule}" >> ${LOGCONF} + echo "${logapi}.logger.${orgmodule_}.level = ${level}" >> ${LOGCONF} + else + echo "${logapi}.logger.${orgmodule} = ${level}" >> ${LOGCONF} + fi + fi + done + fi + + cat ${LOGCONF} +} # function configure_karaf_log() diff --git a/jjb/integration/integration-configure-clustering.sh b/jjb/integration/integration-configure-clustering.sh index 00745aa38..ecc941a5b 100644 --- a/jjb/integration/integration-configure-clustering.sh +++ b/jjb/integration/integration-configure-clustering.sh @@ -83,31 +83,14 @@ fi sed -ie "s%\(featuresRepositories=\|featuresRepositories =\)%featuresRepositories = mvn:org.opendaylight.integration/\${FEATURE_TEST_STRING}/${BUNDLEVERSION}/xml/features,mvn:org.apache.karaf.decanter/apache-karaf-decanter/1.0.0/xml/features,%g" ${FEATURESCONF} cat ${FEATURESCONF} -echo "Configuring the log..." -sed -ie 's/log4j.appender.out.maxBackupIndex=10/log4j.appender.out.maxBackupIndex=1/g' ${LOGCONF} -# FIXME: Make log size limit configurable from build parameter. -sed -ie 's/log4j.appender.out.maxFileSize=1MB/log4j.appender.out.maxFileSize=30GB/g' ${LOGCONF} -# Add custom logging levels -# CONTROLLERDEBUGMAP is expected to be a key:value map of space separated values like "module:level module2:level2" -# where module is abbreviated and does not include org.opendaylight -unset IFS -if [ -n "${CONTROLLERDEBUGMAP}" ]; then - for kv in ${CONTROLLERDEBUGMAP}; do - module=\${kv%%:*} - level=\${kv#*:} - if [ -n \${module} ] && [ -n \${level} ]; then - echo "log4j.logger.org.opendaylight.\${module} = \${level}" >> \${LOGCONF} - fi - done -fi -cat ${LOGCONF} - if [ "${ODL_ENABLE_L3_FWD}" == "yes" ]; then echo "Enable the l3.fwd in custom.properties.." echo "ovsdb.l3.fwd.enabled=yes" >> ${CUSTOMPROP} cat ${CUSTOMPROP} fi +configure_karaf_log "${KARAF_VERSION}" "${CONTROLLERDEBUGMAP}" + set_java_vars "${JAVA_HOME}" # Copy shard file if exists diff --git a/jjb/integration/integration-deploy-controller-run-test.sh b/jjb/integration/integration-deploy-controller-run-test.sh index 06cc4542e..84fb75517 100644 --- a/jjb/integration/integration-deploy-controller-run-test.sh +++ b/jjb/integration/integration-deploy-controller-run-test.sh @@ -80,26 +80,7 @@ if [ "${ODL_ENABLE_L3_FWD}" == "yes" ]; then fi cat ${CUSTOMPROP} -echo "Configuring the log..." -sed -ie 's/log4j.appender.out.maxBackupIndex=10/log4j.appender.out.maxBackupIndex=1/g' ${LOGCONF} -# FIXME: Make log size limit configurable from build parameter. -sed -ie 's/log4j.appender.out.maxFileSize=1MB/log4j.appender.out.maxFileSize=30GB/g' ${LOGCONF} -echo "log4j.logger.org.opendaylight.yangtools.yang.parser.repo.YangTextSchemaContextResolver = WARN" >> ${LOGCONF} -# Add custom logging levels -# CONTROLLERDEBUGMAP is expected to be a key:value map of space separated values like "module:level module2:level2" -# where module is abbreviated and does not include org.opendaylight -unset IFS -if [ -n "${CONTROLLERDEBUGMAP}" ]; then - for kv in ${CONTROLLERDEBUGMAP}; do - module=\${kv%%:*} - level=\${kv#*:} - if [ -n \${module} ] && [ -n \${level} ]; then - echo "log4j.logger.org.opendaylight.\${module} = \${level}" >> ${LOGCONF} - fi - done -fi -echo "cat ${LOGCONF}" -cat ${LOGCONF} +configure_karaf_log "${KARAF_VERSION}" "${CONTROLLERDEBUGMAP}" set_java_vars "${JAVA_HOME}"