###
# ============LICENSE_START=======================================================
# Integrity Audit
# ================================================================================
# 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
