summaryrefslogtreecommitdiffstats
path: root/aai-traversal/ajsc-shared-config
diff options
context:
space:
mode:
Diffstat (limited to 'aai-traversal/ajsc-shared-config')
-rw-r--r--aai-traversal/ajsc-shared-config/README.txt6
-rw-r--r--aai-traversal/ajsc-shared-config/etc/aft.properties13
-rw-r--r--aai-traversal/ajsc-shared-config/etc/basic-logback_root_logger_level_off.xml84
-rw-r--r--aai-traversal/ajsc-shared-config/etc/csm-config-app.properties183
-rw-r--r--aai-traversal/ajsc-shared-config/etc/csm-framework-app.properties11
-rw-r--r--aai-traversal/ajsc-shared-config/etc/localhost-access-logback.xml38
-rw-r--r--aai-traversal/ajsc-shared-config/etc/logback.xml382
7 files changed, 717 insertions, 0 deletions
diff --git a/aai-traversal/ajsc-shared-config/README.txt b/aai-traversal/ajsc-shared-config/README.txt
new file mode 100644
index 0000000..a82eb64
--- /dev/null
+++ b/aai-traversal/ajsc-shared-config/README.txt
@@ -0,0 +1,6 @@
+The ajsc-shared-config folder is included in the service project to provide the functionality of the AJSC_SHARED_CONFIG
+location that will exist in CSI envs. This includes the logback.xml for logging configurations, and some csm related
+artifacts necessary for proper functionality of the csm framework within the CSI env. Within the 2 profiles that can
+be utilized to run the AJSC locally, "runLocal" and "runAjsc", the system propery, "AJSC_SHARED_CONFIG", has been set
+to point to this directory. The files in this folder will NOT be copied/moved anywhere within the AJSC SWM package. These
+files will already be in existence within the CSI env. \ No newline at end of file
diff --git a/aai-traversal/ajsc-shared-config/etc/aft.properties b/aai-traversal/ajsc-shared-config/etc/aft.properties
new file mode 100644
index 0000000..43e896d
--- /dev/null
+++ b/aai-traversal/ajsc-shared-config/etc/aft.properties
@@ -0,0 +1,13 @@
+
+# Flow test 319
+com.att.aft.discovery.client.environment=AFTUAT
+com.att.aft.discovery.client.latitude=35.318900
+com.att.aft.discovery.client.longitude=-80.762200
+com.att.aft.alias=ecomp-aai
+#com.att.aft.keyStore=ajsc-shared-config/etc/spm2.jks
+com.att.aft.keyStore=/opt/app/aai/bundleconfig/etc/m04353t.jks
+com.att.aft.keyStorePassword=its4test
+#com.att.aft.trustStore=ajsc-shared-config/etc/spm2.jks
+com.att.aft.trustStore=/opt/app/aai/bundleconfig/etc/m04353t.jks
+com.att.aft.trustStorePassword=its4test
+
diff --git a/aai-traversal/ajsc-shared-config/etc/basic-logback_root_logger_level_off.xml b/aai-traversal/ajsc-shared-config/etc/basic-logback_root_logger_level_off.xml
new file mode 100644
index 0000000..326c8cb
--- /dev/null
+++ b/aai-traversal/ajsc-shared-config/etc/basic-logback_root_logger_level_off.xml
@@ -0,0 +1,84 @@
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <property name="logDirectory" value="${AJSC_HOME}/log" />
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>ERROR</level>
+ </filter>
+ <encoder>
+ <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+ </pattern>
+ </encoder>
+ </appender>
+
+ <appender name="INFO"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>DEBUG</level>
+ </filter>
+ <file>${logDirectory}/info_ajsc.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/info_ajsc.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+ </encoder>
+ </appender>
+ <appender name="ERROR"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>ERROR</level>
+ </filter>
+ <file>${logDirectory}/error_ajsc.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/error_ajsc.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n"</pattern> -->
+ <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="AJSC-AUDIT" class="ch.qos.logback.classic.net.SyslogAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ <syslogHost>localhost</syslogHost>
+ <facility>USER</facility>
+ <!-- Note the colon character below - it is important part of "TAG" message
+ format You need a colon to determine where the TAG field ends and the CONTENT
+ begins -->
+ <suffixPattern>AJSC_AUDIT: [%thread] [%logger] %msg</suffixPattern>
+ </appender>
+ <appender name="CONTROLLER-AUDIT" class="ch.qos.logback.classic.net.SyslogAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>INFO</level>
+ </filter>
+ <syslogHost>localhost</syslogHost>
+ <facility>USER</facility>
+ <!-- Note the colon character below - it is important part of "TAG" message
+ format You need a colon to determine where the TAG field ends and the CONTENT
+ begins -->
+ <suffixPattern>AJSC_AUDIT: [%thread] [%logger] mdc:[%mdc] %msg
+ </suffixPattern>
+ </appender>
+
+ <root level="off">
+ <appender-ref ref="ERROR" />
+ <appender-ref ref="INFO" />
+ <appender-ref ref="STDOUT" />
+ </root>
+</configuration>
diff --git a/aai-traversal/ajsc-shared-config/etc/csm-config-app.properties b/aai-traversal/ajsc-shared-config/etc/csm-config-app.properties
new file mode 100644
index 0000000..b4d0476
--- /dev/null
+++ b/aai-traversal/ajsc-shared-config/etc/csm-config-app.properties
@@ -0,0 +1,183 @@
+Global.ExtendedProperty.AuthoritativeServers=${ChangeMe_csm.acfshost}:${ChangeMe_csm.acfsport}
+
+#
+# The settings in this file control the behavior of the CSM Framework.
+# The majority of the settings in this file adhere to the following
+# pattern:
+#
+# [EntityType].[EntityId].[PropertyName]=[PropertyValue]
+#
+# Where:
+#
+# [EntityType] Identifies the type of entity (service or
+# service group) that's being configured.
+# [EntityId] Identifies the individual entity.
+# [PropertyName] Identifies the property that is being set.
+# [PropertyValue] Is the actual property value.
+#
+# In the formatting sample above, the EntityType can be setto one of the
+# following values:
+#
+# * 'Service' if an individual service is being configured.
+# * 'Group 'if a service group is being configured.
+#
+# The reference to 'entity' in the above description is intentionally
+# generic. The CSM Framework supports the configuration of individual
+# services as well as groups of services. The type of entity that is
+# actually being configured is determined by the value of the
+# [EntityType] portion of the property.
+#
+# There are two values for [EntityId] that have a special meaning within
+# the CSM Framework:
+#
+#
+# DefaultService - Identifies the default configuration for any service
+# that is not explicitly configured elsewhere in this file.
+#
+# DefaultServiceGroup - This identifies the entity that provides the
+# default configuration for any service group that is not explicitly
+# configured elsewhere in this file.
+#
+# DO NOT use either of these as the identifier for any of your
+# application-specific services or service groups.
+#
+# The CSM Framework treats all entity identifiers in a case-insensitive
+# manner. The entity ids 'Service1' and 'SERVICE1' are equivalant. All
+# properties with the same [EntityId] will be applied to the same
+# configuration. The CSM Framework framework also treats property names
+# in a case-insensitive manner. 'MaxRequestCount' and 'MAXREQUESTCOUNT'
+# are considered equivalent within the CSM framework.
+#
+# The following properties are supported by the CSM Framework. Any
+# properties that are entity-specific will include the '[EntityId].'
+# prefix.
+#
+# [EntityType].[EntityId].Enabled - Indicates if the entity is enabled
+# or disabled by default. The value of this property must be either
+# 'true' or 'false'.
+#
+# [EntityType].[EntityId].MaxRequestCount - The maximum number of
+# requests that can be running at any point in time. Once this limit is
+# reached, the service is considered to be 'flooded', and subsequent
+# requests are refused until the request count drops to the level
+# specified by the RestartThreshold property. Once the restart
+# threshold is reached, the service will be 'restarted' based on the
+# values of the 'RestartFrequency' and 'RestartIncrement' properties.
+# The value of this property must be a numeric value.
+# The default value for this property is 20.
+#
+# [EntityType].[EntityId].MaxStalledRequestCount - the maximum number of
+# 'stalled' requests that are allowed before subsequent requests are
+# refused
+# The value of this property must be a numeric value.
+# The default value for this property is 10.
+#
+# [EntityType].[EntityId].RestartThreshold - the process count level at
+# which requests will be allowed to proceed whenever a service becomes
+# 'flooded'. This property is only used if the total process count
+# reaches the level set by the 'MaxRequestCount' property. Once that
+# occurs, subsequent requests will be refused until the active request
+# count drops to the level specified by this property. Once the active
+# request count drops to the level specified by this property, the
+# service will be 'restarted' based on the values of the
+# 'RestartFrequency' and 'RestartIncrement' properties. To cause the
+# CSM framework to allow subsequent requests to proceed as soon as the
+# active request count drops below level level set by the
+# 'MaxRequestCount' property, just set this property to either -1 or 1
+# less than the value of the 'MaxRequestCount' property.
+# The value of this property must be a numeric value.
+# The default value for this property is -1.
+#
+# [EntityType].[EntityId].RestartIncrement - This property, along with
+# the 'RestartFrequency' property helps determine how quickly the active
+# request count will rise to the 'maximum request count' whenever a
+# service is 'restarted' after becoming 'flooded'. The
+# 'RestartFrequency' property determines how frequenty the permissable
+# number of active requests will be increased. This property determines
+# how much the permissible number of active requests will increase by
+# whenever it is raised. If this property is set to a positive value,
+# then the 'RestartFrequency' property must also be set to a positive
+# value. If this property is set to 0, then the 'RestartFrequency'
+# property must also be set to 0. In other words, either both
+# properties are 0 or both properties are greater than 0. When both
+# properties are set to 0, then the permissable number of active
+# requests immediately rises back up to the maximum request count once
+# it has droppedback down to the 'restart threshold'. When both
+# properties are greater than 0, then the permissable number of active
+# requests gradually rises to the maximum request count.
+# The value of this property must be a numeric value greater than or equal to 0.
+# The default value for this property is 0.
+#
+# [EntityType].[EntityId].RestartFrequency - This property, along with
+# the 'RestartIncrement' property helps determine how quickly the active
+# request count will rise to the 'maximum request count' whenever a
+# service is 'restarted' after becoming 'flooded'. The
+# 'RestartIncrement' property determines how quickly the permissable
+# number of active requests will be increased. This property determines
+# how frequently that increase will occur. If this property is set to
+# a positive value, then the 'RestartIncrement' property must also be
+# set to a positive value. If this property is set to 0, then the
+# 'RestartIncrement' property must also be set to 0. In other words,
+# either both properties are 0 or both properties are greater than 0.
+# When both properties are set to 0, then the permissable number of
+# active requests immediately rises back up to the maximum request count
+# once it has droppedback down to the 'restart threshold'. When both
+# properties are greater than 0, then the permissable number of active
+# requests gradually rises to the maximum request count.
+# The value of this property must be a numeric value greater than or equal to 0.
+# The default value for this property is 0.
+#
+# [EntityType].[EntityId].ServiceGroupId - This property is only
+# relevant for entities that are configured as services (i.e. the
+# [EntityType] portion of the property is set to 'Service'). When the
+# 'ServiceGroupId' property is set to a non-blank value, the behavior of
+# the service is controled by the configuration of the corresponding
+# service group. There is no default value for this property.
+#
+# [EntityType].[EntityId].Timeout - the timeout, in milliseconds, for
+# each process that is controlled by this configuration. Once the
+# duration of a process exceeds this value, the process will be
+# considered to have entered a 'stalled' state. The default value for
+# this property is 10000.
+#
+# FrameworkEnabled: - This is the one property that is not specific to a
+# single entity. This property determines whether the entire CSM
+# Framework is enabled or disabled. When disabled, the CSM Framework
+# does not track any process counts. All requests to access a service
+# are allowed, regardless of the current level of activity. The value
+# of this property must be either 'true' or 'false'.
+#
+
+#
+# Enables the CSM Framework so that it can manage interactions with external
+# services and/or resources. To disable the CSM Framework, simply set
+# this property to false.
+#
+FrameworkEnabled=true
+
+#
+# These are the default settings for any service that is no explicitly configured
+# below. A few things to note about this configuration:
+# 1) The "Enabled" property is not explicitly set. Instead, we are relying
+# on the default value of 'true'.
+# 2) The Timeout and Type properties are also not explicitly set. Again, we
+# are relying on the default values for these properties.
+#
+Service.DefaultService.Enabled=true
+Service.DefaultService.MaxRequestCount=30
+Service.DefaultService.MaxStalledRequestCount=20
+Service.DefaultService.Timeout=30000
+Service.DefaultService.RestartThreshold=-1
+Service.DefaultService.AutoPurgeAfter=150000
+
+
+#
+# These are the default settings for any service group that is referenced in
+# a service configuration but not configured below.
+#
+# Currently CSI does not use any service group configurations!
+#
+#Group.DefaultGroup.MaxRequestCount=-1
+#Group.DefaultGroup.MaxStalledRequestCount=-1
+#Group.DefaultGroup.RestartThreshold=-1
+#Group.DefaultGroup.Timeout=-1
diff --git a/aai-traversal/ajsc-shared-config/etc/csm-framework-app.properties b/aai-traversal/ajsc-shared-config/etc/csm-framework-app.properties
new file mode 100644
index 0000000..140fde3
--- /dev/null
+++ b/aai-traversal/ajsc-shared-config/etc/csm-framework-app.properties
@@ -0,0 +1,11 @@
+# The csm-persist-to property identifies the file that the CSM Framework
+# will write the current configuration to whenever it is told to save it's
+# configuration.
+#
+#csm-persist-to=/opt/app/myapplication/csm.properties.persisted
+
+#Important . Please specify absolute path starting from the root directory for Property csm-persist-to
+#(Giving relative path may result in undesired results in case the applcation is restarted from a different directory than the original start directory )
+#In the following example , relative path is specfied since the directory structure varies on diff env
+
+csm-persist-to=/opt/app/q103csi1m8/DATA/${ChangeMe_RELEASE}/${ChangeMe_CLUSTER}_ACFS_csm.properties.persisted
diff --git a/aai-traversal/ajsc-shared-config/etc/localhost-access-logback.xml b/aai-traversal/ajsc-shared-config/etc/localhost-access-logback.xml
new file mode 100644
index 0000000..cf37962
--- /dev/null
+++ b/aai-traversal/ajsc-shared-config/etc/localhost-access-logback.xml
@@ -0,0 +1,38 @@
+<configuration>
+ <appender name="ACCESS"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log.%d{yyyy-MM-dd}
+ </fileNamePattern>
+ </rollingPolicy>
+ <encoder class="org.openecomp.aai.logging.CustomLogPatternLayoutEncoder">
+ <Pattern>%a %u %z [%t] "%m %U" %s %b %y %i{X-TransactionId} %i{X-FromAppId} %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D</Pattern>
+ </encoder>
+ </appender>
+ <appender-ref ref="ACCESS" />
+</configuration>
+
+<!--
+%a - Remote IP address
+%A - Local IP address
+%b - Bytes sent, excluding HTTP headers, or '-' if no bytes were sent
+%B - Bytes sent, excluding HTTP headers
+%h - Remote host name
+%H - Request protocol
+%l - Remote logical username from identd (always returns '-')
+%m - Request method
+%p - Local port
+%q - Query string (prepended with a '?' if it exists, otherwise an empty string
+%r - First line of the request
+%s - HTTP status code of the response
+%S - User session ID
+%t - Date and time, in Common Log Format format
+%u - Remote user that was authenticated
+%U - Requested URL path
+%v - Local server name
+%I - current request thread name (can compare later with stacktraces)
+
+%z - Custom pattern that parses the cert for the subject
+%y - Custom pattern determines rest or dme2
+ --> \ No newline at end of file
diff --git a/aai-traversal/ajsc-shared-config/etc/logback.xml b/aai-traversal/ajsc-shared-config/etc/logback.xml
new file mode 100644
index 0000000..3311342
--- /dev/null
+++ b/aai-traversal/ajsc-shared-config/etc/logback.xml
@@ -0,0 +1,382 @@
+<configuration scan="true" scanPeriod="60 seconds" debug="false">
+ <contextName>${module.ajsc.namespace.name}</contextName>
+ <jmxConfigurator />
+ <property name="logDirectory" value="${AJSC_HOME}/logs" />
+ <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%X{responseDescription}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%m){'\n', '^'}%n"/>
+ <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%X{responseDescription}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%m){'\n', '^'}%n"/>
+ <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%X{responseDescription}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%m){'\n', '^'}%n"/>
+
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>ERROR</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <encoder>
+ <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+ </pattern>
+ </encoder>
+ </appender>
+
+ <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/rest/sane.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
+ </rollingPolicy>
+ <encoder>
+ <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+ </pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>1000</queueSize>
+ <includeCallerData>true</includeCallerData>
+ <appender-ref ref="SANE" />
+ </appender>
+
+ <appender name="METRIC"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>INFO</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <file>${logDirectory}/rest/metrics.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
+ </fileNamePattern>
+ </rollingPolicy>
+ <encoder class="org.openecomp.aai.logging.EcompEncoder">
+ <pattern>${eelfMetricLogPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>1000</queueSize>
+ <includeCallerData>true</includeCallerData>
+ <appender-ref ref="METRIC" />
+ </appender>
+
+ <appender name="DEBUG"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>DEBUG</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <file>${logDirectory}/rest/debug.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
+ </fileNamePattern>
+ </rollingPolicy>
+ <encoder class="org.openecomp.aai.logging.EcompEncoder">
+ <pattern>${eelfLogPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>1000</queueSize>
+ <includeCallerData>true</includeCallerData>
+ <appender-ref ref="DEBUG" />
+ </appender>
+
+ <appender name="ERROR"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>WARN</level>
+ </filter>
+ <file>${logDirectory}/rest/error.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
+ </fileNamePattern>
+ </rollingPolicy>
+ <encoder class="org.openecomp.aai.logging.EcompEncoder">
+ <pattern>${eelfLogPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>1000</queueSize>
+ <includeCallerData>true</includeCallerData>
+ <appender-ref ref="ERROR" />
+ </appender>
+
+ <appender name="AUDIT"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/rest/audit.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
+ </fileNamePattern>
+ </rollingPolicy>
+ <encoder class="org.openecomp.aai.logging.EcompEncoder">
+ <pattern>${eelfAuditLogPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>1000</queueSize>
+ <includeCallerData>true</includeCallerData>
+ <appender-ref ref="AUDIT" />
+ </appender>
+
+ <appender name="translog"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>DEBUG</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <file>${logDirectory}/rest/translog.log</file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
+ </fileNamePattern>
+ </rollingPolicy>
+ <encoder class="org.openecomp.aai.logging.EcompEncoder">
+ <pattern>${eelfLogPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>1000</queueSize>
+ <includeCallerData>true</includeCallerData>
+ <appender-ref ref="translog" />
+ </appender>
+
+ <appender name="dmaapAAIEventConsumer"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>WARN</level>
+ </filter>
+ <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
+ </fileNamePattern>
+ </rollingPolicy>
+ <encoder class="org.openecomp.aai.logging.EcompEncoder">
+ <pattern>${eelfLogPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="dmaapAAIEventConsumerDebug"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>DEBUG</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
+ </fileNamePattern>
+ </rollingPolicy>
+ <encoder class="org.openecomp.aai.logging.EcompEncoder">
+ <pattern>${eelfLogPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="dmaapAAIEventConsumerMetric"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>INFO</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
+ <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+ <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
+ </fileNamePattern>
+ </rollingPolicy>
+ <encoder class="org.openecomp.aai.logging.EcompEncoder">
+ <pattern>${eelfLogPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <!-- Spring related loggers -->
+ <logger name="org.springframework" level="WARN" />
+ <logger name="org.springframework.beans" level="WARN" />
+ <logger name="org.springframework.web" level="WARN" />
+ <logger name="com.blog.spring.jms" level="WARN" />
+
+ <!-- AJSC Services (bootstrap services) -->
+ <logger name="ajsc" level="WARN" />
+ <logger name="ajsc.RouteMgmtService" level="WARN" />
+ <logger name="ajsc.ComputeService" level="WARN" />
+ <logger name="ajsc.VandelayService" level="WARN" />
+ <logger name="ajsc.FilePersistenceService" level="WARN" />
+ <logger name="ajsc.UserDefinedJarService" level="WARN" />
+ <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
+ <logger name="ajsc.LoggingConfigurationService" level="WARN" />
+
+ <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet
+ logging) -->
+ <logger name="ajsc.utils" level="WARN" />
+ <logger name="ajsc.utils.DME2Helper" level="WARN" />
+ <logger name="ajsc.filters" level="WARN" />
+ <logger name="ajsc.beans.interceptors" level="WARN" />
+ <logger name="ajsc.restlet" level="WARN" />
+ <logger name="ajsc.servlet" level="WARN" />
+ <logger name="com.att.ajsc" level="WARN" />
+ <logger name="com.att.ajsc.csi.logging" level="WARN" />
+ <logger name="com.att.ajsc.filemonitor" level="WARN" />
+
+ <!-- Other Loggers that may help troubleshoot -->
+ <logger name="net.sf" level="WARN" />
+ <logger name="org.apache.commons.httpclient" level="WARN" />
+ <logger name="org.apache.commons" level="WARN" />
+ <logger name="org.apache.coyote" level="WARN" />
+ <logger name="org.apache.jasper" level="WARN" />
+
+ <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+ May aid in troubleshooting) -->
+ <logger name="org.apache.camel" level="WARN" />
+ <logger name="org.apache.cxf" level="WARN" />
+ <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+ <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+ <logger name="org.apache.cxf.service" level="WARN" />
+ <logger name="org.restlet" level="WARN" />
+ <logger name="org.apache.camel.component.restlet" level="WARN" />
+
+ <!-- logback internals logging -->
+ <logger name="ch.qos.logback.classic" level="WARN" />
+ <logger name="ch.qos.logback.core" level="WARN" />
+
+ <!-- logback jms appenders & loggers definition starts here -->
+ <appender name="auditLogs"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
+ <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log
+ </file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+ </encoder>
+ </appender>
+ <appender name="perfLogs"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
+ <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log
+ </file>
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+ </encoder>
+ </appender>
+ <if condition='property("JMS_BROKER").contains("WMQ")'>
+ <then>
+ <appender name="Audit-Record-Queue" class="ajsc.JMSQueueAppender">
+ <param name="InitialContextFactoryName" value="${JMS_WMQ_INITIAL_CONNECTION_FACTORY_NAME}" />
+ <param name="ProviderURL" value="${JMS_WMQ_PROVIDER_URL}" />
+ <param name="DestinationName" value="${JMS_WMQ_AUDIT_DESTINATION_NAME}" />
+ <param name="ConnectionFactoryName" value="${JMS_WMQ_CONNECTION_FACTORY_NAME}" />
+ </appender>
+ <appender name="Performance-Tracker-Queue" class="ajsc.JMSQueueAppender">
+ <param name="InitialContextFactoryName" value="${JMS_WMQ_INITIAL_CONNECTION_FACTORY_NAME}" />
+ <param name="ProviderURL" value="${JMS_WMQ_PROVIDER_URL}" />
+ <param name="DestinationName" value="${JMS_WMQ_PERF_DESTINATION_NAME}" />
+ <param name="ConnectionFactoryName" value="${JMS_WMQ_CONNECTION_FACTORY_NAME}" />
+ </appender>
+ </then>
+ <else>
+ <!-- logback jms appenders definition starts here -->
+ <appender name="Audit-Record-Queue" class="ajsc.JMSQueueAppender">
+ <param name="InitialContextFactoryName"
+ value="com.tibco.tibjms.naming.TibjmsInitialContextFactory" />
+ <param name="ProviderURL" value="${JMS_TIBCO_PROVIDER_URL}" />
+ <param name="userName" value="${JMS_LOGGER_USER_NAME}" />
+ <param name="password" value="${JMS_LOGGER_PASSWORD}" />
+ <QueueBindingName>${JMS_LOGGER_AUDIT_QUEUE_BINDING}
+ </QueueBindingName>
+ </appender>
+ <appender name="Performance-Tracker-Queue" class="ajsc.JMSQueueAppender">
+ <param name="InitialContextFactoryName"
+ value="com.tibco.tibjms.naming.TibjmsInitialContextFactory" />
+ <param name="ProviderURL" value="${JMS_TIBCO_PROVIDER_URL}" />
+ <param name="userName" value="${JMS_LOGGER_USER_NAME}" />
+ <param name="password" value="${JMS_LOGGER_PASSWORD}" />
+ <QueueBindingName>${JMS_LOGGER_PERF_QUEUE_BINDING}
+ </QueueBindingName>
+ </appender>
+ </else>
+ </if>
+ <appender name="ASYNC-audit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>1000</queueSize>
+ <includeCallerData>true</includeCallerData>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="Audit-Record-Queue" />
+ </appender>
+ <appender name="ASYNC-perf" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>1000</queueSize>
+ <includeCallerData>true</includeCallerData>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="Performance-Tracker-Queue" />
+ </appender>
+ <logger name="AuditRecord" level="INFO" additivity="false">
+ <appender-ref ref="ASYNC-audit" />
+ <appender-ref ref="auditLogs" />
+ </logger>
+ <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">
+ <appender-ref ref="ASYNC-audit" />
+ <appender-ref ref="auditLogs" />
+ </logger>
+ <logger name="PerfTrackerRecord" level="INFO" additivity="false">
+ <appender-ref ref="ASYNC-perf" />
+ <appender-ref ref="perfLogs" />
+ </logger>
+ <!-- logback jms appenders & loggers definition ends here -->
+
+ <logger name="org.openecomp.aai.interceptors" level="DEBUG"
+ additivity="false">
+ <appender-ref ref="asynctranslog" />
+ </logger>
+
+ <logger name="org.openecomp.aai.interceptors.PreAaiAjscInterceptor" level="DEBUG">
+ <appender-ref ref="asyncAUDIT"/>
+ </logger>
+
+ <logger name="org.openecomp.aai.interceptors.PostAaiAjscInterceptor" level="DEBUG">
+ <appender-ref ref="asyncAUDIT"/>
+ </logger>
+
+ <logger name="org.openecomp.aai.dmaap" level="DEBUG" additivity="false">
+ <appender-ref ref="dmaapAAIEventConsumer" />
+ <appender-ref ref="dmaapAAIEventConsumerDebug" />
+ <appender-ref ref="dmaapAAIEventConsumerMetric" />
+ </logger>
+
+ <logger name="org.apache" level="WARN" />
+ <logger name="org.zookeeper" level="WARN" />
+ <logger name="com.thinkaurelius" level="WARN" />
+
+ <!-- ============================================================================ -->
+ <!-- General EELF logger -->
+ <!-- ============================================================================ -->
+ <logger name="com.att.eelf" level="WARN" additivity="false">
+ <appender-ref ref="asyncDEBUG" />
+ <appender-ref ref="asyncERROR" />
+ <appender-ref ref="asyncMETRIC" />
+ </logger>
+
+ <root level="DEBUG">
+ <appender-ref ref="asyncDEBUG" />
+ <appender-ref ref="asyncERROR" />
+ <appender-ref ref="asyncMETRIC" />
+ <appender-ref ref="asyncSANE" />
+ </root>
+</configuration>