###
# ============LICENSE_START=======================================================
# ECOMP Policy Engine
# ================================================================================
# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# 
#      http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ============LICENSE_END=========================================================
###

################################## 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=INFO
# 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
