###
# ============LICENSE_START=======================================================
# ONAP CLAMP
# ================================================================================
# Copyright (C) 2017-2018 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============================================
# ===================================================================
# 
###

# If the environment property system_properties_path contains a path to a file  , System properties created using the file. If the environment variable not present, system.properties in the class path is used for system property creation 

com.att.eelf.logging.file=classpath:/logback.xml

# change as per logback.xml path
com.att.eelf.logging.path=./
logging.config=classpath:/logback.xml

#
# JVM SSL/TLS properties
jdk.tls.client.protocols=TLSv1.1,TLSv1.2 
https.protocols=TLSv1.1,TLSv1.2
