-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}
-cat \${LOGCONF}
+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
+cat ${LOGCONF}