diff options
Diffstat (limited to 'misc')
-rw-r--r-- | misc/LocalKey | 27 | ||||
-rw-r--r-- | misc/PolicyEngineApi.properties.tmpl | 14 | ||||
-rw-r--r-- | misc/dmaapbc | 152 | ||||
-rw-r--r-- | misc/dmaapbc.properties.tmpl | 152 | ||||
-rw-r--r-- | misc/doaction | 43 | ||||
-rw-r--r-- | misc/havecert.tmpl | 11 | ||||
-rw-r--r-- | misc/log4j.properties.tmpl | 11 | ||||
-rw-r--r-- | misc/opensource.env | 99 | ||||
-rw-r--r-- | misc/policyLogger.properties | 24 |
9 files changed, 533 insertions, 0 deletions
diff --git a/misc/LocalKey b/misc/LocalKey new file mode 100644 index 0000000..38ede55 --- /dev/null +++ b/misc/LocalKey @@ -0,0 +1,27 @@ +7ntUvubggJ1h6AXwQENQScrnlqmLMno_583XufLsguAT11bnBk0DVLE2GtCZ0pNQzlR8I3PJ1_nZ +UEVQs1G_qZzV-MHQZvz54solEp8dNUVji4JUzP7WiPuJdvCX8vvGLc8-jOVzEJ2DAGmV3gNp60_F +jrKx7F7Dz-h94jWZ45rNn7-Re_BneSto6HiSj0DN_SKSNhE5z9Qf3tFyFLGIYmlQoxzbTYC38uN0 +FjAYuKz6W_pTLzyOjHNAagYwEjTUUU-ei-QA5pL20-oG3jSYGnj_V94kd8X5ncB1-nybUsy5OOvZ +huCxf9hSetn2fpIszkRcuFxaxiwubpmEWp2L_zovhcRI1OMFPIIK0IckRHD1a5CpFVzR7P5L7LQk +FErATsQkHsPS9BJN5wlj1EoIhA2uaELjXjmOqPQg76eyQqXXcMHRJTA6czbXPYfTQMQx1r2USC9o +HdoLT4-so7zARZidmYmvPPT9qvNisK6BF4M32K-_s6YyJspSEB1MscNPujsD7zczIsBct7BTRoeZ +CbtkskT_yFhQzdzdSMzFN_NJ7Yb9p3d1G4gSkj2rbA-BDybHHPij8k6-k-ipvi_T_LW9B_J8Jf5f +aRclZqVgwwSG-mUKUyk9bI3cVc-1P2ICUmr59EjuauDAtlMQL-hnTJUs1rUerh4Q7d4XgrNLjLHY +Oue8MEj24VSMl-f28DDIV1N6ODiBKDHUmdENsmlbqeNpzQxu7FoSbLu6gN6zDP8Jw4ck1NHEIv8H +ecUf-hBGdB0HINClaV9X2ycafWcmRY-NCzX65cp7a1Rpl1kCEW5u79LLN28aJeTzmriewhy87hJf +rAah8z3dHteIN1fuvRoGsFwZ4jKo6olFxcBOlpHQIW5JJ1roO1vQ2Dx_l-Foo7wV_AD127zCu7ci +lYodnAOocKbhAub4sf90P3D2NMKb20e5CQrBSchtIEaD3G7J-vL5xYydLuLu5WipOdZuq3VhSSZm +TZIR3Ya2QiZVokxKgH-N0gPDz-TimNV_MkUSCNsv2NxjBM7oPF3dzEHbHS5eue41_R4vqxFdTdva +o0ASTFkARmmnMFBx1a73jmcoBBx-i4el8Rce7RvFWn1PALOnRsIQPy_Pgx0OE9_6eHfOSvyxbyMM +0FwE5f77gO967tgc4LwqB1pzz2Uk7hfizLKNc6nrrgDxSb_9rDWwiE4rWw7WYcRKvRQ270lCH4FQ +ezrPacnnK3cKM5L6brOyhbhiL4MnNX714L0K8C6TQnIVisQCLHwif40G_DSEWxICQ5V2DMzFn3JT +PefaubHlqxRZVikNH71b_2ZRLEi84m5iUuy8Ir1s3W6xuyIdt-yKLnjgnLjOPPxTDC5G_xaXAAuM +SkSOjvPzOArMUUnwYk68jAxXS2tBT8JN6OnglN8dHC-P24tYzfs4B4tMYJ1ibz6BUsQ6nYxsRUak +4ZjRmo3UG0OFJbOY-f0ja6Q4pISe1IXmlM4Ly9QdCfeHyDV-7Fiud9V_zo92lpQwttwSpBvFoDYQ +oePdA0zmCx6GIX_8L9e8a03hUx4aUtZ8C3Kf0PzOWTcjrV7nGb99ctjmRtfGw5GPWudH6CI3WFK2 +5wFDhrQSbRhzV4iQalYVPJQ7LO4WEi4EsBTRSiz074UpvkMV3UfMGDlpXAAq5rEjj-d5WbHhzbs8 +MGKzZLTfUz9lP4CME9AOwto_ey1ly3H-yaEgCpnshm-CZoSqVDmuFYM0QR_NcrqmSQ9ZKJEF_wTa +TEAXNJ99CYE0ZLvU9FjgCqH1-q1zL7z3NLX1uFYazEZWGMZFPVD5XOcCtUlVyUz9KuAO9ARVyu5C +7kzo_AFePtnsA_JUvvkauo6RwO6qhLJjZuSjvmiSdOAohiXUalDFjWVW8CMfgLF4PbRDklsAcsiT +P0xUdyWJ5slu87f9PunXDwQZWNv6haTIhVX7bilCDpRPbTbmimmE_C2J7tgV2EvazD7o8V_jeu0g +cnIpzRnaPG9l-uy2UKoxOXI4CSymcJoyV2xxC0SF7Q5quAhf3UGAdQUeFtHwxZtYiAMXLs06
\ No newline at end of file diff --git a/misc/PolicyEngineApi.properties.tmpl b/misc/PolicyEngineApi.properties.tmpl new file mode 100644 index 0000000..b49f7e9 --- /dev/null +++ b/misc/PolicyEngineApi.properties.tmpl @@ -0,0 +1,14 @@ +cat <<!EOF +#PDP URLs to which will be used by the Policy Engine API to take Decisions. There are multiple to support redundancy. +#Format: PDP_URL{PriorityNumber} = URL, id, password. +PDP_URL1 = ${DMAAPBC_PDP1_URL:-https://host1.domain.notset.com:8081/pdp/} , ${DMAAPBC_PDP1_USER:-testpdp} , ${DMAAPBC_PDP1_PWD:-alpha123} +PDP_URL2 = ${DMAAPBC_PDP2_URL:-https://host2.domain.notset.com:8082/pdp/} , ${DMAAPBC_PDP2_USER:-testpdp} , ${DMAAPBC_PDP2_PWD:-alpha456} +PAP_URL = ${DMAAPBC_PAP_URL:-https://host3.domain.notset.com:9091/pap/} , ${DMAAPBC_PAP_USER:-testpap} , ${DMAAPBC_PAP_PWD:-alpha123} + + + +CLIENT_ID=${DMAAPBC_TOPICMGR_USER:-mechIdNotSet@namespaceNotSet} +ENVIRONMENT=${DMAAPBC_PE_AAF_ENV:-DEVL} + + +!EOF diff --git a/misc/dmaapbc b/misc/dmaapbc new file mode 100644 index 0000000..83fc8c2 --- /dev/null +++ b/misc/dmaapbc @@ -0,0 +1,152 @@ +#!/bin/bash + +umask 0022 +TZ=GMT0 +COMPONENT=dmaapbc +APP_ROOT=/opt/app/$COMPONENT +USER=root +export TZ +PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/java/jdk/jdk180/bin +export PATH +CLASSPATH=`echo $APP_ROOT/etc $APP_ROOT/lib/*.jar | tr ' ' ':'` +export CLASSPATH +CONTAINER_CONFIG=/opt/app/config/conf +MAIN=org.onap.dmaap.dbcapi.server.Main + + +pids() { + #set -x + ps -ef | grep java | grep $MAIN | sed -e 's/[^ ]* *//' -e 's/ .*//' + #set +x +} + +config() { + set -x + if [ ! -d $APP_ROOT ] + then + echo "Expected app root directory $APP_ROOT does not exist" + exit 1 + fi + if [ ! -f $CONTAINER_CONFIG ] + then + echo "Expected env file $CONTAINER_CONFIG not found" + exit 1 + fi + cd $APP_ROOT + source $CONTAINER_CONFIG + . misc/dmaapbc.properties.tmpl > etc/dmaapbc.properties + . misc/PolicyEngineApi.properties.tmpl > config/PolicyEngineApi.properties + set +x +} + +start() { + set -x + ID=`id -n -u` + GRP=`id -n -g` + if [ "$ID" != "$USER" ] + then + echo $COMPONENT must be started as user $USER not $ID + exit 1 + fi + if [ "$GRP" != "$USER" ] + then + echo $COMPONENT must be started as group $USER not $GRP + exit 1 + fi + cd $APP_ROOT + +# disable until we use certs +# if etc/havecert +# then + echo >/dev/null +# else +# echo No certificate file available. Cannot start +# exit 0 +# fi + PIDS=`pids` + if [ "$PIDS" != "" ] + then + echo $COMPONENT already running + exit 0 + fi + rm -f $APP_ROOT/etc/SHUTDOWN + + # JVM flags +#old line from Dockerfile...keep for reference only + FLAGS="-cp etc:lib/* -Dlog4j.configuration=etc/log4j.properties -Ddmaapbc.properties=etc/dmaapbc.properties -Dhttps.protocols=TLSv1.2 -Dhttps.cipherSuites=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + nohup java $FLAGS $MAIN </dev/null >/dev/null 2>&1 & + sleep 5 + PIDS=`pids` + if [ "$PIDS" = "" ] + then + echo $COMPONENT startup failed + tail -100 $APP_ROOT/logs/dmaap*.log + else + echo $COMPONENT started + fi + set +x +} + +stop() { + ID=`id -n -u` + GRP=`id -n -g` + if [ "$ID" != "$USER" ] + then + echo $COMPONENT must be stopped as user $USER not $ID + exit 1 + fi + if [ "$GRP" != "$USER" ] + then + echo $COMPONENT must be stopped as group $USER not $GRP + exit 1 + fi + touch $APP_ROOT/etc/SHUTDOWN + PIDS=`pids` + if [ "$PIDS" != "" ] + then + sleep 5 + kill -9 $PIDS + sleep 5 + echo $COMPONENT stopped + else + echo $COMPONENT not running + fi +} + +status() { + PIDS=`pids` + if [ "$PIDS" != "" ] + then + echo $COMPONENT running + else + echo $COMPONENT not running + fi +} + +set -x +case "$1" in +'deploy') + config + start + wait + ;; +'start') + start + ;; +'stop') + stop + ;; +'restart') + stop + sleep 20 + start + ;; +'status') + status + ;; +*) + echo "Usage: $0 { start | stop | restart }" + exit 1 + ;; +esac +exit 0 diff --git a/misc/dmaapbc.properties.tmpl b/misc/dmaapbc.properties.tmpl new file mode 100644 index 0000000..9af0d7e --- /dev/null +++ b/misc/dmaapbc.properties.tmpl @@ -0,0 +1,152 @@ +cat <<!EOF +# +# Configuration parameters fixed at startup for the DMaaP Bus Controller +# +# +# URI to retrieve dynamic DR configuration +# +ProvisioningURI: ${DMAAPBC_INTURI:-/internal/prov} +# +# Allow http access to API +# +HttpAllowed: ${DMAAPBC_HTTPALLOWED:-true} +# +# The port number for http as seen within the server +# +IntHttpPort: ${DMAAPBC_INT_HTTP_PORT:-8080} +# +# The port number for https as seen within the server +# Set to 0 if no certificate is available yet... +# +IntHttpsPort: ${DMAAPBC_INT_HTTPS_PORT:-8443} +# +# The external port number for https taking port mapping into account +# +ExtHttpsPort: ${DMAAPBC_EXT_HTTPS_PORT:-443} +# +# The type of keystore for https +# +KeyStoreType: jks +# +# The path to the keystore for https +# +KeyStoreFile: ${DMAAPBC_KSTOREFILE:-etc/keystore} +# +# The password for the https keystore +# +KeyStorePassword: ${DMAAPBC_KSTOREPASS:-changeit} +# +# The password for the private key in the https keystore +# +KeyPassword: ${DMAAPBC_PVTKEYPASS:-changeit} +# +# The type of truststore for https +# +TrustStoreType: jks +# +# The path to the truststore for https +# +TrustStoreFile: ${DMAAPBC_TSTOREFILE} +# +# The password for the https truststore +# +TrustStorePassword: ${DMAAPBC_TSTOREPASS:-changeit} +# +# The path to the file used to trigger an orderly shutdown +# +QuiesceFile: etc/SHUTDOWN +# +# Enable postgress +# +UsePGSQL: ${DMAAPBC_PG_ENABLED:-true} +# +# The host for postgres access +# +DB.host: ${DMAAPBC_PGHOST:-HostNotSet} +# +# For postgres access +# +DB.cred: ${DMAAPBC_PGCRED:-ValueNotSet} +# +# Name of this environment +# +DmaapName: ${DMAAPBC_INSTANCE_NAME:-FTLIST} +# +# Name of DR prov server +# +DR.provhost: ${DMAAPBC_DRPROV_FQDN:-dcae-drps.domain.notset.com} +# +# The Role and credentials of the MirrorMaker Provisioner. This is used by DMaaP Bus Controller to pub to the provisioning topic +# Not part of 1701 +# +#MM.ProvRole: ${DMAAPBC_MMPROV_ROLE:-org.openecomp.dmaapBC.MMprov.prov} +#MM.ProvUserMechId: ${DMAAPBC_MMPROV_ID:-idNotSet@namespaceNotSet} +#MM.ProvUserPwd: ${DMAAPBC_MMPROV_PWD:-enc:fMxh-hzYZldbtyXumQq9aJU08SslhbM6mXtt} +# +# The Role of the MirrorMaker Agent. This is used by MM to sub to provisioning topic +# +MM.AgentRole: ${DMAAPBC_MMAGENT_ROLE:-org.openecomp.dmaapBC.MMagent.agent} +################# +# AAF Properties: +# +# regarding password encryption: +# In the dependencies that Maven retrieves (e.g., under dcae_dmaapbc/target/deps/ is a jar file cadi-core-version.jar. Generate the key file with: +# +# java \u2013jar wherever/cadi-core-*.jar keygen keyfilename +# chmod 400 keyfilename +# +# To encrypt a key: +# +# java \u2013jar wherever/cadi-core-*.jar digest password-to-encrypt keyfilename +# +# This will generate a string. Put \u201Cenc:\u201D on the front of the string, and put the result in this properties file. +# +# Location of the Codec Keyfile which is used to decrypt passwords in this properties file before they are passed to AAF +# +# REF: https://wiki.domain.notset.com/display/cadi/CADI+Deployment +# +CredentialCodecKeyfile: ${DMAAPBC_CODEC_KEYFILE:-etc/LocalKey} +# +# URL of AAF environment to use. +# +aaf.URL: ${DMAAPBC_AAF_URL:-https://authentication.simpledemo.openecomp.org:8095/proxy/} +# +# TopicMgr mechid@namespace +# +aaf.TopicMgrUser: ${DMAAPBC_TOPICMGR_USER:-idNotSet@namespaceNotSet} +# +# TopicMgr password +# +aaf.TopicMgrPassword: ${DMAAPBC_TOPICMGR_PWD:-enc:zyRL9zbI0py3rJAjMS0dFOnYfEw_mJhO} +# +# Bus Controller Namespace Admin mechid@namespace +# +aaf.AdminUser: ${DMAAPBC_ADMIN_USER:-idNotSet@namespaceNotSet} +# +# Bus Controller Namespace Admin password +# +aaf.AdminPassword: ${DMAAPBC_ADMIN_PWD:-enc:YEaHwOJrwhDY8a6usetlhbB9mEjUq9m} +# +# endof AAF Properties +################# +################# +# PolicyEngine Properties +# +# Flag to turn on/off Authentication +UsePE: ${DMAAPBC_PE_ENABLED:-false} +# +# Argument to decisionAttributes.put("AAF_ENVIRONMENT", X); +# where X is: TEST= UAT, PROD = PROD, DEVL = TEST +# +PeAafEnvironment: ${DMAAPBC_PE_AAF_ENV:-DEVL} +# +# Name of PolicyEngineApi properties file +PolicyEngineProperties: config/PolicyEngineApi.properties +# +# Namespace for URI values for API used to create AAF permissions +# e.g. if ApiNamespace is X.Y..dmaapBC.api then for URI /topics we create an AAF perm X.Y..dmaapBC.api.topics +ApiNamespace: org.openecomp.dmaapBC.api +# +# endof PolicyEngineProperties +################# +!EOF
\ No newline at end of file diff --git a/misc/doaction b/misc/doaction new file mode 100644 index 0000000..d3dd9b8 --- /dev/null +++ b/misc/doaction @@ -0,0 +1,43 @@ +#!/bin/bash + +cd /opt/app/dmaapbc/etc +for action in "$@" +do +case "$action" in +'backup') + cp log4j.properties log4j.properties.save 2>/dev/null + cp dmaapbc.properties dmaapbc.properties.save 2>/dev/null + cp havecert havecert.save 2>/dev/null + ;; +'stop') + /opt/app/platform/init.d/dmaapbc stop + ;; +'start') + /opt/app/platform/init.d/dmaapbc start || exit 1 + ;; +'config') + /bin/bash log4j.properties.tmpl >log4j.properties + /bin/bash dmaapbc.properties.tmpl >dmaapbc.properties + /bin/bash havecert.tmpl >havecert + /bin/bash PolicyEngineApi.properties.tmpl > ../config/PolicyEngineApi.properties + echo "$AFTSWM_ACTION_NEW_VERSION" >VERSION.dmaapbc + chmod +x havecert + rm -f /opt/app/platform/rc.d/K90dmaapbc /opt/app/platform/rc.d/S10dmaapbc + ln -s ../init.d/dmaapbc /opt/app/platform/rc.d/K90dmaapbc + ln -s ../init.d/dmaapbc /opt/app/platform/rc.d/S10dmaapbc + ;; +'restore') + cp log4j.properties.save log4j.properties 2>/dev/null + cp dmaapbc.properties.save dmaapbc.properties 2>/dev/null + cp havecert.save havecert 2>/dev/null + ;; +'clean') + rm -f log4j.properties dmaapbc.properties havecert log4j.properties.save dmaapbc.properties.save havecert.save SHUTDOWN redirections.dat VERSION.dmaapbc + rm -f /opt/app/platform/rc.d/K90dmaapbc /opt/app/platform/rc.d/S10dmaapbc + ;; +*) + exit 1 + ;; +esac +done +exit 0 diff --git a/misc/havecert.tmpl b/misc/havecert.tmpl new file mode 100644 index 0000000..00a0a34 --- /dev/null +++ b/misc/havecert.tmpl @@ -0,0 +1,11 @@ +#!/bin/bash +cat <<!EOF +TZ=GMT0 +cd /opt/app/dmaapbc; +if [ -f ${DMAAPBC_KSTOREFILE:-etc/keystore} ] +then + exit 0 +fi +echo `date '+%F %T,000'` WARN Certificate file "${DMAAPBC_KSTOREFILE:-etc/keystore}" is missing >>${DMAAPBC_LOGS:-logs}/dmaapbc.log +exit 1 +!EOF diff --git a/misc/log4j.properties.tmpl b/misc/log4j.properties.tmpl new file mode 100644 index 0000000..0b689f4 --- /dev/null +++ b/misc/log4j.properties.tmpl @@ -0,0 +1,11 @@ +cat <<!EOF +log4j.debug=FALSE +log4j.rootLogger=INFO,Root + +log4j.appender.Root=org.apache.log4j.DailyRollingFileAppender +log4j.appender.Root.file=${DMAAPBC_LOGS:-logs}/buscontroller.log +log4j.appender.Root.datePattern='.'yyyyMMdd +log4j.appender.Root.append=true +log4j.appender.Root.layout=org.apache.log4j.PatternLayout +log4j.appender.Root.layout.ConversionPattern=%d %p %F %L %t %m%n +!EOF diff --git a/misc/opensource.env b/misc/opensource.env new file mode 100644 index 0000000..71123fa --- /dev/null +++ b/misc/opensource.env @@ -0,0 +1,99 @@ +# +# The Controller domain +# +CONT_DOMAIN=simpledemo.onap.org +# +# The https port +# set to 0 if certificate is not ready +DMAAPBC_INT_HTTPS_PORT=0 + +# +# The path to the keystore for https +# +DMAAPBC_KSTOREFILE=/opt/app/dcae-certificates + +# The password for the https keystore +# +DMAAPBC_KSTOREPASS=foofoofoo +# +# The password for the private key in the https keystore +# +DMAAPBC_PVTKEYPASS=barbarbar +# +# Flag for whether we are using PG connection for persistence +# +DMAAPBC_PG_ENABLED=false +# +# The host for postgres access +# +DMAAPBC_PGHOST=zldciad1vipstg00.${CONT_DOMAIN} +# +# For postgres access +# +DMAAPBC_PGCRED=test234-ftl +# +# Name of this environment +# +DMAAPBC_INSTANCE_NAME=onap1 +# +# Name of DR prov server +# +DMAAPBC_DRPROV_FQDN=dcae-drps.${CONT_DOMAIN} + +################# +# AAF Properties: +# +# regarding password encryption: +# In the dependencies that Maven retrieves (e.g., under dcae_dmaapbc/target/deps/ is a jar file cadi-core-version.jar. Generate the key file with: +# +# java \u2013jar wherever/cadi-core-*.jar keygen keyfilename +# chmod 400 keyfilename +# +# To encrypt a key: +# +# java \u2013jar wherever/cadi-core-*.jar digest password-to-encrypt keyfilename +# +# This will generate a string. Put \u201Cenc:\u201D on the front of the string, and put the result in this properties file. +# +# Location of the Codec Keyfile which is used to decrypt passwords in this properties file before they are passed to AAF +# +# REF: https://wiki.domain.notset.com/display/cadi/CADI+Deployment +# +# URL of AAF environment to use. +# +DMAAPBC_AAF_URL=https://aafapi.${CONT_DOMAIN}:8095/proxy/ +# +# TopicMgr mechid@namespace +# +DMAAPBC_TOPICMGR_USER=m99751@dmaapBC.onap.org +# +# TopicMgr password +# +DMAAPBC_TOPICMGR_PWD=enc:zyRL9zbI0py3rJAjMS0dFOnYfEw_mJhO +# +# Bus Controller Namespace Admin mechid@namespace +# +DMAAPBC_ADMIN_USER=m99501@dcae.onap.org +# +# Bus Controller Namespace Admin password +# +DMAAPBC_ADMIN_PWD=enc:YEaHwOJrwhDY8a6usetlhbB9mEjUq9m + +# +# endof AAF Properties +################# + +################# +# PolicyEngine Properties + +# +# Flag to turn on/off Authentication +DMAAPBC_PE_ENABLED=false +# +# Argument to decisionAttributes.put("AAF_ENVIRONMENT", X); +# where X is: TEST= UAT, PROD = PROD, DEVL = TEST +# +DMAAPBC_PE_AAF_ENV=DEMO + +# endof PolicyEngineProperties +################# diff --git a/misc/policyLogger.properties b/misc/policyLogger.properties new file mode 100644 index 0000000..83190e0 --- /dev/null +++ b/misc/policyLogger.properties @@ -0,0 +1,24 @@ +################################### Set concurrentHashMap and timer info ####################### +#Timer initial delay and the delay between in milliseconds before task is to be execute. +timer.delay.time=1000 +#Timer scheduleAtFixedRate period - time in milliseconds between successive task executions. +check.interval= 30000 +#Longest time an event info can be stored in the concurrentHashMap for logging - in seconds. +event.expired.time=86400 +#Size of the concurrentHashMap which stores the event starting time, etc - when its size reaches this limit, the Timer gets executed +#to remove all expired records from this concurrentHashMap. +concurrentHashMap.limit=5000 +#Size of the concurrentHashMap - when its size drops to this point, stop the Timer +stop.check.point=2500 +################################### Set logging format ############################################# +# set EELF for EELF logging format, set LOG4J for using log4j, set SYSTEMOUT for using system.out.println +logger.type=EELF +#################################### Set level for EELF or SYSTEMOUT logging ################################## +# Set level for debug file. Set DEBUG to enable .info, .warn and .debug; set INFO for enable .info and .warn; set OFF to disable all +debugLogger.level=OFF +# Set level for metrics file. Set OFF to disable; set ON to enable +metricsLogger.level=ON +# Set level for error file. Set OFF to disable; set ON to enable +error.level=ON +# Set level for audit file. Set OFF to disable; set ON to enable +audit.level=ON |