####################################  LOGGERS

# AE_LOGS system property MUST be set before this file is loaded, as it is used
# by several of the file definitions.
#
# This file is named something other than log4j.properties to prevent it from
# being loaded automatically by log4j initialization before ConfigureLog4j
# has run, since it is along the classpath as of 6.6. 

###### Default
log4j.rootLogger=ERROR, CONSOLE, APPLICATION_SERVER
#log4j.debug=true

###### 3rd-Party Loggers
log4j.logger.org.apache=ERROR
log4j.logger.org.apache.struts.action.ActionServlet=ERROR
log4j.logger.org.jboss=INFO

###### WorkManager Logger
log4j.logger.com.appiancorp.common.mapreduce.lib.map.WorkManagerRetriever=WARN

###### Struts Loggers
log4j.logger.com.appiancorp.common.struts.AppianTilesRequestProcessor=WARN

###### RDBMS Loggers
log4j.logger.com.appiancorp.rdbms.config.PrimaryDataSourceConfig=INFO
log4j.logger.com.appiancorp.rdbms.config.UserDataSourcesConfig=INFO
log4j.logger.com.appiancorp.rdbms.hb.DataSourceManagerHbImpl=INFO
log4j.logger.org.hibernate.cfg.SettingsFactory=WARN
log4j.logger.com.appiancorp.type.external.teneoimpl.TeneoDataStoreFactory=WARN
# Output SQL statements
#log4j.logger.org.hibernate.SQL=DEBUG
# Output param values within SQL statements
#log4j.logger.org.hibernate.type=TRACE
# Output DDL statements
#log4j.logger.org.hibernate.tool.hbm2ddl=DEBUG
# Output the generated Hibernate mapping XML
#log4j.logger.com.appiancorp.type.external.teneoimpl.AppianHbSessionDataStore=DEBUG
# Output liquibase commands
#log4j.logger.liquibase=DEBUG
# Output Spring transaction information
#log4j.logger.org.springframework.orm.jpa=DEBUG

###### Invalid JNDI Name Loggers
log4j.logger.com.appiancorp.type.external.config.content.DataStoreConfigRepositoryContentImpl=WARN
log4j.logger.com.appiancorp.process.runtime.activities.QueryRdbmsActivity=WARN
log4j.logger.com.appiancorp.process.runtime.activities.JdbcActivity=WARN
log4j.logger.com.appiancorp.common.StrictNamingInitialContext=WARN

###### SCS Warning Loggers
log4j.logger.com.appiancorp.suiteapi.security.auth.AuthenticationProviderWrapper=WARN

###### Search Loggers
log4j.logger.com.appiancorp.common.lucene.LuceneManager=WARN
log4j.logger.com.appiancorp.common.lucene.IndexWriterManager=WARN
log4j.logger.com.appiancorp.rdbms.hb.search.IndexingHibernateEventListener=WARN
log4j.logger.com.appiancorp.rdbms.common.search.SearchIndexSyncTimerTask=WARN
#log4j.logger.com.appiancorp.rdbms.hb.search.SearchIndexSynchronizerHbImpl=DEBUG
log4j.logger.appian.search.query=INFO, SEARCH_QUERY_LOG
log4j.additivity.appian.search.query=false

###### Appian Loggers 
log4j.logger.com.appiancorp.ra.workpoller=ERROR, WORK_POLLER
log4j.logger.com.appiancorp.kougar=ERROR
log4j.logger.com.appiancorp.kougar.driver.ConnectionManagerConfigurator.sec=WARN
log4j.logger.com.appiancorp.asi.taglib.TaglibUtil=WARN
# In order to see elements that were filtered by the Appian Security filter, set the StringSecurityUtils
# logger to WARN level.
log4j.logger.com.appiancorp.security.util.StringSecurityUtils=ERROR
log4j.logger.com.appiancorp.test.framework.struts=DEBUG
log4j.logger.com.appiancorp.common.initialize=INFO
log4j.logger.com.appiancorp.asi.components.common.ClientLogger=OFF
log4j.logger.com.appiancorp.common.config.LoggingFileChangedReloadingStrategy=INFO

###### File Upload
# Cron job that garbage collects orphan files created with the file upload component
#log4j.logger.com.appiancorp.content.TransientFilesCleanup=DEBUG

###### File Download
log4j.logger.com.appian.audit.file-attachment-downloads=INFO, FILE_ATTACHMENT_DOWNLOADS
log4j.additivity.com.appian.audit.file-attachment-downloads=false

###### Content Logging
#Logging for content object deletion.
log4j.logger.com.appiancorp.content.ContentServiceJavaImpl_Delete=INFO, FILE_DELETION

##### Login Audit loggers
# Use INFO level to enable login auditing
log4j.logger.com.appian.login-audit=INFO, LOGIN_AUDIT
log4j.additivity.com.appian.login-audit=false
log4j.logger.com.appian.login-audit-web-api=INFO, LOGIN_AUDIT_WEB_API
log4j.additivity.com.appian.login-audit-web-api=false
log4j.logger.com.appiancorp.security.auth.AuthenticationEventLoggerListener=WARN
# Log when a session is created
#log4j.logger.com.appiancorp.common.web.HttpSessionCreateLogger=INFO
#log4j.logger.com.appiancorp.ap2.WrapFilter=DEBUG

##### Authorization audit logging
# Use INFO level to enable the log
log4j.logger.com.appian.authz-audit=INFO, AUTHZ_AUDIT
log4j.additivity.com.appian.authz-audit=false

##### Security logging
#log4j.logger.com.appiancorp.security=DEBUG
log4j.logger.com.appiancorp.security.auth.rememberme.RememberMeTokenRepositoryImpl=INFO
log4j.logger.org.springframework.security=ERROR
log4j.logger.org.springframework.security.web.util.AntPathRequestMatcher=ERROR


##### Plugin loggers
#log4j.logger.org.springframework=DEBUG
log4j.logger.com.appiancorp.plugins=INFO
log4j.logger.com.atlassian.plugin.loaders.ScanningPluginLoader=OFF
log4j.logger.com.appiancorp.plugins.loaders.UnloadingDirectoryPluginLoader=OFF
log4j.logger.org.twdata=OFF

##### Datatypes Plugin loggers
log4j.logger.com.appiancorp.type.config.plugin=INFO
#log4j.logger.com.appiancorp.common.xml.JaxbXsdGenerator=DEBUG

##### Security loggers
log4j.logger.com.appiancorp.ag.user.action.ResetPassword=OFF

# Kougar timing data (ie. elapsed time for calls to the backend).
# Use INFO level to get the timing data.
log4j.logger.com.appiancorp.kougar.driver.KougarConnectionTiming=ERROR, KOUGAR_TIMING
log4j.additivity.com.appiancorp.kougar.driver.KougarConnectionTiming=false

# Email Poller
log4j.logger.com.appiancorp.ra.emailpoller=INFO, MAIL_LISTENER
log4j.additivity.com.appiancorp.ra.emailpoller=false

# Notification logger
log4j.logger.com.appiancorp.ap2.service.PortalNotificationServiceJavaImpl=WARN

# RDBMS performance logger settings
# Use INFO level to get RDBMS performance logging
#log4j.logger.com.appiancorp.rdbms.PerformanceLog=INFO, RDBMS_PERF
#log4j.additivity.com.appiancorp.rdbms.PerformanceLog=false

log4j.logger.com.appian.perflogs.data-store-summary=INFO, DATA_STORE_SUMMARY
log4j.additivity.com.appian.perflogs.data-store-summary=false

log4j.logger.com.appian.perflogs.data-store-details=INFO, DATA_STORE_DETAILS
log4j.additivity.com.appian.perflogs.data-store-details=false

log4j.logger.com.appian.audit.data-store-deletions=INFO, DATA_STORE_DELETIONS
log4j.additivity.com.appian.audit.data-store-deletions=false

# Logging for RDBMS Smart Service.
#log4j.logger.com.appiancorp.process.runtime.activities.QueryRdbmsActivity=DEBUG
#log4j.logger.com.appiancorp.process.runtime.activities.JdbcActivity=DEBUG

# Internal web API performance logger settings
# Use INFO level to get internal web API performance logging
#log4j.logger.com.appiancorp.tempo.util.PerformanceLog=INFO, REST_TRACE
#log4j.additivity.com.appiancorp.tempo.util.PerformanceLog=false

log4j.logger.com.appian.perflogs.rest-summary=INFO, REST_SUMMARY
log4j.additivity.com.appian.perflogs.rest-summary=false

log4j.logger.com.appian.perflogs.rest-details=INFO, REST_DETAILS
log4j.additivity.com.appian.perflogs.rest-details=false

#log4j.logger.com.appian.perflogs.smart-services-trace=INFO, SMART_SERVICES_TRACE
#log4j.additivity.com.appian.perflogs.smart-services-trace=false

log4j.logger.com.appian.perflogs.smart-services-summary=INFO, SMART_SERVICES_SUMMARY
log4j.additivity.com.appian.perflogs.smart-services-summary=false

log4j.logger.com.appian.perflogs.smart-services-details=INFO, SMART_SERVICES_DETAILS
log4j.additivity.com.appian.perflogs.smart-services-details=false

#log4j.logger.com.appian.perflogs.reporting-trace=INFO, REPORTING_TRACE
#log4j.additivity.com.appian.perflogs.reporting-trace=false

log4j.logger.com.appian.perflogs.reporting-summary=INFO, REPORTING_SUMMARY
log4j.additivity.com.appian.perflogs.reporting-summary=false

log4j.logger.com.appian.perflogs.reporting-details=INFO, REPORTING_DETAILS
log4j.additivity.com.appian.perflogs.reporting-details=false

#log4j.logger.com.appian.perflogs.expressions-trace=INFO, EXPRESSIONS_TRACE
#log4j.additivity.com.appian.perflogs.expressions-trace=false

log4j.logger.com.appian.perflogs.expressions-summary=INFO, EXPRESSIONS_SUMMARY
log4j.additivity.com.appian.perflogs.expressions-summary=false

log4j.logger.com.appian.perflogs.expressions-details=INFO, EXPRESSIONS_DETAILS
log4j.additivity.com.appian.perflogs.expressions-details=false

log4j.logger.com.appian.data-metrics.records=INFO, RECORDS_METRICS
log4j.additivity.com.appian.data-metrics.records=false

log4j.logger.com.appian.data-metrics.system=INFO, SYSTEM_METRICS
log4j.additivity.com.appian.data-metrics.system=false

log4j.logger.com.appian.data-metrics.news=INFO, NEWS_METRICS
log4j.additivity.com.appian.data-metrics.news=false

log4j.logger.com.appian.data-metrics.execution=INFO, EXECUTION_METRICS
log4j.additivity.com.appian.data-metrics.execution=false

log4j.logger.com.appian.data-metrics.model=INFO, MODEL_METRICS
log4j.additivity.com.appian.data-metrics.model=false

log4j.logger.com.appian.data-metrics.content=INFO, CONTENT_METRICS
log4j.additivity.com.appian.data-metrics.content=false

log4j.logger.com.appian.data-metrics.types=INFO, TYPE_METRICS
log4j.additivity.com.appian.data-metrics.types=false

log4j.logger.com.appian.data-metrics.cache=INFO, CACHE_METRICS
log4j.additivity.com.appian.data-metrics.cache=false

# Tempo feed logger settings
#log4j.logger.com.appiancorp.tempo.feed.TempoEntryAdapter=DEBUG

# Tempo entries deletion settings
log4j.logger.com.appiancorp.tempo.rdbms.RdbmsFeedSourceImpl_Delete=INFO, FILE_DELETION

log4j.logger.com.appiancorp.record.admin.DeleteDashboard=INFO

# Logging for the config object framework.
#log4j.logger.com.appiancorp.common.config=DEBUG

# Logging for JSR-168 portlets.
#log4j.logger.com.appiancorp.ap2.p.jsr168=DEBUG
#log4j.logger.org.apache.pluto=DEBUG

# Logging for CDT conversion to/from XML.
#log4j.logger.com.appiancorp.type.xmlconversion=DEBUG

# Import errors are logged to a special file (or to the console when run from the command line), but turning
# this logger on will also send them to the server log
log4j.logger.com.appiancorp.ix.diagnostics.Diagnostics=OFF

# Logging for process model import/export transformations.
#log4j.logger.com.appiancorp.process.xmltransformation=DEBUG

# Logging for Web Services.
#log4j.logger.com.appiancorp.ws=DEBUG

# Logging for retrying expressions and unattended activities. 
log4j.logger.com.appiancorp.process.engine.ExpressionRequest=WARN
log4j.logger.com.appiancorp.process.engine.UnattendedJavaActivityRequest=WARN

# Logging for Activity Class importer.
log4j.logger.com.appiancorp.process.xmlconversion.ActivityClassConverter=WARN

# Logging for Abdera.
# log4j.logger.org.apache.abdera.protocol.server=DEBUG

# Logging for timers
log4j.logger.com.appiancorp.core.timer=INFO

# Logging for Analytics Config.
log4j.logger.com.appiancorp.process.analytics2.config.AnalyticsConfig=WARN

# Logging for BackgroundAction.
log4j.logger.com.appiancorp.asi.components.common.BackgroundAction=WARN

# Process Upgrade
#log4j.logger.com.appiancorp.process.execution.ProcessUpgrader=INFO

##### Appian MDBs
log4j.logger.com.appiancorp.mdb=ERROR

##### Performance logger must be set to DEBUG or INFO to be activated.
##### DEBUG is necessary to log to logfile and be visible in JMX.
##### INFO is necessary to be visible in JMX.
##### Set conf.core.perf.log.every in custom.properties to the count at which to output a log line.
log4j.logger.perf.appianscript=WARN, EXPRESSION_PERF
log4j.logger.perf.appianscript.lex=WARN, EXPRESSION_PERF
log4j.logger.perf.appianscript.parse=WARN, EXPRESSION_PERF
log4j.logger.perf.appianscript.eval=WARN, EXPRESSION_PERF
log4j.logger.perf.appianscript.function=WARN, EXPRESSION_PERF
log4j.logger.perf.rule=WARN, EXPRESSION_PERF
log4j.additivity.perf.appianscript=false
log4j.additivity.perf.rule=false

##### Password Properties
log4j.logger.com.appiancorp.suite.PasswordConfiguration=INFO
# Logging import of External Systems
log4j.logger.com.appiancorp.security.external.config.SecureCredentialStoreImport=INFO
log4j.logger.com.appiancorp.security.external.config.SecureCredentialStoreImport_Delete=INFO, FILE_DELETION

##### Logging for secure credential store
log4j.logger.com.appian.audit.secure-credentials-store=INFO, SECURE_CREDENTIALS_STORE
log4j.additivity.com.appian.audit.secure-credentials-store=false

####################################  APPENDERS

###### CONSOLE appender
#log4j.appender.CONSOLE.layout=com.appiancorp.common.logging.ExceptionPatternLayout
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

###### WORK_POLLER appender
log4j.appender.WORK_POLLER.layout=org.apache.log4j.PatternLayout
log4j.appender.WORK_POLLER.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c{1}] %m%n
log4j.appender.WORK_POLLER=org.apache.log4j.RollingFileAppender
log4j.appender.WORK_POLLER.File=${AE_LOGS}/unattended-request-poller.log
log4j.appender.WORK_POLLER.MaxFileSize=10MB
log4j.appender.WORK_POLLER.MaxBackupIndex=1000
log4j.appender.WORK_POLLER.encoding=UTF-8

###### APPLICATION_SERVER file appender
log4j.appender.APPLICATION_SERVER=org.apache.log4j.RollingFileAppender
log4j.appender.APPLICATION_SERVER.layout=org.apache.log4j.PatternLayout
log4j.appender.APPLICATION_SERVER.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.APPLICATION_SERVER.File=${AE_LOGS}/application-server.log
log4j.appender.APPLICATION_SERVER.MaxFileSize=10MB
log4j.appender.APPLICATION_SERVER.MaxBackupIndex=1000
log4j.appender.APPLICATION_SERVER.encoding=UTF-8

###### KOUGAR_TIMING file appender
log4j.appender.KOUGAR_TIMING=org.apache.log4j.RollingFileAppender
log4j.appender.KOUGAR_TIMING.layout=org.apache.log4j.PatternLayout
log4j.appender.KOUGAR_TIMING.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.KOUGAR_TIMING.File=${AE_LOGS}/kougar-timing.log
log4j.appender.KOUGAR_TIMING.MaxFileSize=10MB
log4j.appender.KOUGAR_TIMING.MaxBackupIndex=1000
log4j.appender.KOUGAR_TIMING.encoding=UTF-8

###### MAIL_LISTENER file appender
log4j.appender.MAIL_LISTENER=org.apache.log4j.RollingFileAppender
log4j.appender.MAIL_LISTENER.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL_LISTENER.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.MAIL_LISTENER.File=${AE_LOGS}/mail-listener.log
log4j.appender.MAIL_LISTENER.MaxFileSize=10MB
log4j.appender.MAIL_LISTENER.MaxBackupIndex=1000
log4j.appender.MAIL_LISTENER.encoding=UTF-8

###### LOGIN_AUDIT file appenders
log4j.appender.LOGIN_AUDIT=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.LOGIN_AUDIT.layout=com.appiancorp.common.logging.CsvLayout
log4j.appender.LOGIN_AUDIT.layout.AddTimestamp=false
log4j.appender.LOGIN_AUDIT.layout.ColumnNames=Timestamp,Username,Status,IP,Source,User Agent
log4j.appender.LOGIN_AUDIT.File=${AE_LOGS}/login-audit.csv
log4j.appender.LOGIN_AUDIT.MaxFileSize=10MB
log4j.appender.LOGIN_AUDIT.MaxBackupIndex=1000
log4j.appender.LOGIN_AUDIT.encoding=UTF-8

log4j.appender.LOGIN_AUDIT_WEB_API=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.LOGIN_AUDIT_WEB_API.layout=com.appiancorp.common.logging.CsvLayout
log4j.appender.LOGIN_AUDIT_WEB_API.layout.AddTimestamp=false
log4j.appender.LOGIN_AUDIT_WEB_API.layout.ColumnNames=Timestamp,Username,Status,IP,Source,User Agent
log4j.appender.LOGIN_AUDIT_WEB_API.File=${AE_LOGS}/login-audit-web-api.csv
log4j.appender.LOGIN_AUDIT_WEB_API.MaxFileSize=10MB
log4j.appender.LOGIN_AUDIT_WEB_API.MaxBackupIndex=1000
log4j.appender.LOGIN_AUDIT_WEB_API.encoding=UTF-8

###### Authorization audit logging
log4j.appender.AUTHZ_AUDIT=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.AUTHZ_AUDIT.layout=com.appiancorp.security.authz.AuthorizationEventMetadata$CsvLogLayout
log4j.appender.AUTHZ_AUDIT.File=${AE_LOGS}/authz-audit.csv
log4j.appender.AUTHZ_AUDIT.MaxFileSize=10MB
log4j.appender.AUTHZ_AUDIT.MaxBackupIndex=1000
log4j.appender.AUTHZ_AUDIT.encoding=UTF-8

###### Search query log
log4j.appender.SEARCH_QUERY_LOG=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.SEARCH_QUERY_LOG.layout=com.appiancorp.common.lucene.QueryLogCsvLayout
log4j.appender.SEARCH_QUERY_LOG.File=${AE_LOGS}/search-query.csv
log4j.appender.SEARCH_QUERY_LOG.MaxFileSize=10MB
log4j.appender.SEARCH_QUERY_LOG.MaxBackupIndex=1000
log4j.appender.SEARCH_QUERY_LOG.encoding=UTF-8

###### RDBMS performance logger appender
log4j.appender.RDBMS_PERF=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.RDBMS_PERF.layout=com.appiancorp.common.logging.CsvLayout
log4j.appender.RDBMS_PERF.layout.AddTimestamp=true
log4j.appender.RDBMS_PERF.layout.ColumnNames=Timestamp,Thread,Data Store,Entity,Operation Type,Operation Name,Operation Detail,Prepare Time (ms),Execute Time (ms),Transform Time (ms)
log4j.appender.RDBMS_PERF.File=${AE_LOGS}/perflogs/perf_monitor_rdbms.csv
log4j.appender.RDBMS_PERF.MaxFileSize=10MB
log4j.appender.RDBMS_PERF.MaxBackupIndex=1000

###### Data store summary appender
log4j.appender.DATA_STORE_SUMMARY=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.DATA_STORE_SUMMARY.layout=com.appiancorp.common.monitoring.DataStoreAggregatedData$SummaryLayout
log4j.appender.DATA_STORE_SUMMARY.File=${AE_LOGS}/perflogs/data_store_summary.csv
log4j.appender.DATA_STORE_SUMMARY.MaxFileSize=10MB
log4j.appender.DATA_STORE_SUMMARY.MaxBackupIndex=100

###### Data store details appender
log4j.appender.DATA_STORE_DETAILS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.DATA_STORE_DETAILS.layout=com.appiancorp.common.monitoring.DataStoreAggregatedData$DetailsLayout
log4j.appender.DATA_STORE_DETAILS.File=${AE_LOGS}/perflogs/data_store_details.csv
log4j.appender.DATA_STORE_DETAILS.MaxFileSize=10MB
log4j.appender.DATA_STORE_DETAILS.MaxBackupIndex=10

###### Data store deletions appender
log4j.appender.DATA_STORE_DELETIONS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.DATA_STORE_DELETIONS.layout=com.appiancorp.process.DataStoreLoggerForActivity$DataStoreLoggerForActivityCsvLayout
log4j.appender.DATA_STORE_DELETIONS.File=${AE_LOGS}/audit/data_store_deletions.csv
log4j.appender.DATA_STORE_DELETIONS.MaxFileSize=10MB
log4j.appender.DATA_STORE_DELETIONS.MaxBackupIndex=1000
log4j.appender.DATA_STORE_DELETIONS.encoding=UTF-8


###### Content downloads appender
log4j.appender.FILE_ATTACHMENT_DOWNLOADS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.FILE_ATTACHMENT_DOWNLOADS.layout=com.appiancorp.content.FileAttachmentDownloadsLogger$FileAttachmentDownloadsLoggerCsvLayout
log4j.appender.FILE_ATTACHMENT_DOWNLOADS.File=${AE_LOGS}/audit/file_attachment_downloads.csv
log4j.appender.FILE_ATTACHMENT_DOWNLOADS.MaxFileSize=10MB
log4j.appender.FILE_ATTACHMENT_DOWNLOADS.MaxBackupIndex=1000
log4j.appender.FILE_ATTACHMENT_DOWNLOADS.encoding=UTF-8


###### Web API trace appender
log4j.appender.REST_TRACE=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.REST_TRACE.layout=com.appiancorp.tempo.util.PerformanceLog$Layout
log4j.appender.REST_TRACE.File=${AE_LOGS}/perflogs/rest_trace.csv
log4j.appender.REST_TRACE.MaxFileSize=10MB
log4j.appender.REST_TRACE.MaxBackupIndex=50

###### Web API summary appender
log4j.appender.REST_SUMMARY=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.REST_SUMMARY.layout=com.appiancorp.common.monitoring.RestAggregatedData$SummaryLayout
log4j.appender.REST_SUMMARY.File=${AE_LOGS}/perflogs/rest_summary.csv
log4j.appender.REST_SUMMARY.MaxFileSize=10MB
log4j.appender.REST_SUMMARY.MaxBackupIndex=100

###### Web API details appender
log4j.appender.REST_DETAILS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.REST_DETAILS.layout=com.appiancorp.common.monitoring.RestAggregatedData$DetailsLayout
log4j.appender.REST_DETAILS.File=${AE_LOGS}/perflogs/rest_details.csv
log4j.appender.REST_DETAILS.MaxFileSize=10MB
log4j.appender.REST_DETAILS.MaxBackupIndex=10

###### Smart services trace appender
log4j.appender.SMART_SERVICES_TRACE=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.SMART_SERVICES_TRACE.layout=com.appiancorp.common.monitoring.SmartServicesAggregatedData$TraceLayout
log4j.appender.SMART_SERVICES_TRACE.File=${AE_LOGS}/perflogs/smart_services_trace.csv
log4j.appender.SMART_SERVICES_TRACE.MaxFileSize=10MB
log4j.appender.SMART_SERVICES_TRACE.MaxBackupIndex=50

###### Smart services summary appender
log4j.appender.SMART_SERVICES_SUMMARY=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.SMART_SERVICES_SUMMARY.layout=com.appiancorp.common.monitoring.SmartServicesAggregatedData$SummaryLayout
log4j.appender.SMART_SERVICES_SUMMARY.File=${AE_LOGS}/perflogs/smart_services_summary.csv
log4j.appender.SMART_SERVICES_SUMMARY.MaxFileSize=10MB
log4j.appender.SMART_SERVICES_SUMMARY.MaxBackupIndex=100

###### Smart services details appender
log4j.appender.SMART_SERVICES_DETAILS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.SMART_SERVICES_DETAILS.layout=com.appiancorp.common.monitoring.SmartServicesAggregatedData$DetailsLayout
log4j.appender.SMART_SERVICES_DETAILS.File=${AE_LOGS}/perflogs/smart_services_details.csv
log4j.appender.SMART_SERVICES_DETAILS.MaxFileSize=10MB
log4j.appender.SMART_SERVICES_DETAILS.MaxBackupIndex=10

###### Reporting trace appender
log4j.appender.REPORTING_TRACE=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.REPORTING_TRACE.layout=com.appiancorp.common.monitoring.ReportAggregatedData$TraceLayout
log4j.appender.REPORTING_TRACE.File=${AE_LOGS}/perflogs/reporting_trace.csv
log4j.appender.REPORTING_TRACE.MaxFileSize=10MB
log4j.appender.REPORTING_TRACE.MaxBackupIndex=50

###### Reporting summary appender
log4j.appender.REPORTING_SUMMARY=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.REPORTING_SUMMARY.layout=com.appiancorp.common.monitoring.ReportAggregatedData$SummaryLayout
log4j.appender.REPORTING_SUMMARY.File=${AE_LOGS}/perflogs/reporting_summary.csv
log4j.appender.REPORTING_SUMMARY.MaxFileSize=10MB
log4j.appender.REPORTING_SUMMARY.MaxBackupIndex=100

###### Reporting details appender
log4j.appender.REPORTING_DETAILS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.REPORTING_DETAILS.layout=com.appiancorp.common.monitoring.ReportAggregatedData$DetailsLayout
log4j.appender.REPORTING_DETAILS.File=${AE_LOGS}/perflogs/reporting_details.csv
log4j.appender.REPORTING_DETAILS.MaxFileSize=10MB
log4j.appender.REPORTING_DETAILS.MaxBackupIndex=10

###### Reporting trace appender
log4j.appender.EXPRESSIONS_TRACE=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.EXPRESSIONS_TRACE.layout=com.appiancorp.common.monitoring.ExpressionAggregatedData$TraceLayout
log4j.appender.EXPRESSIONS_TRACE.File=${AE_LOGS}/perflogs/expressions_trace.csv
log4j.appender.EXPRESSIONS_TRACE.MaxFileSize=10MB
log4j.appender.EXPRESSIONS_TRACE.MaxBackupIndex=50

###### Reporting summary appender
log4j.appender.EXPRESSIONS_SUMMARY=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.EXPRESSIONS_SUMMARY.layout=com.appiancorp.common.monitoring.ExpressionAggregatedData$SummaryLayout
log4j.appender.EXPRESSIONS_SUMMARY.File=${AE_LOGS}/perflogs/expressions_summary.csv
log4j.appender.EXPRESSIONS_SUMMARY.MaxFileSize=10MB
log4j.appender.EXPRESSIONS_SUMMARY.MaxBackupIndex=100

###### Reporting details appender
log4j.appender.EXPRESSIONS_DETAILS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.EXPRESSIONS_DETAILS.layout=com.appiancorp.common.monitoring.ExpressionAggregatedData$DetailsLayout
log4j.appender.EXPRESSIONS_DETAILS.File=${AE_LOGS}/perflogs/expressions_details.csv
log4j.appender.EXPRESSIONS_DETAILS.MaxFileSize=10MB
log4j.appender.EXPRESSIONS_DETAILS.MaxBackupIndex=10

###### Records metrics appender
log4j.appender.RECORDS_METRICS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.RECORDS_METRICS.layout=com.appiancorp.common.monitoring.RecordsMetrics$Layout
log4j.appender.RECORDS_METRICS.File=${AE_LOGS}/data-metrics/records.csv
log4j.appender.RECORDS_METRICS.MaxFileSize=10MB
log4j.appender.RECORDS_METRICS.MaxBackupIndex=10

###### System data metrics appender
log4j.appender.SYSTEM_METRICS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.SYSTEM_METRICS.layout=com.appiancorp.common.monitoring.SystemMetrics$Layout
log4j.appender.SYSTEM_METRICS.File=${AE_LOGS}/data-metrics/system.csv
log4j.appender.SYSTEM_METRICS.MaxFileSize=10MB
log4j.appender.SYSTEM_METRICS.MaxBackupIndex=10

###### News metrics appender
log4j.appender.NEWS_METRICS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.NEWS_METRICS.layout=com.appiancorp.common.monitoring.NewsMetrics$Layout
log4j.appender.NEWS_METRICS.File=${AE_LOGS}/data-metrics/news.csv
log4j.appender.NEWS_METRICS.MaxFileSize=10MB
log4j.appender.NEWS_METRICS.MaxBackupIndex=10

###### Execution metrics appender
log4j.appender.EXECUTION_METRICS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.EXECUTION_METRICS.layout=com.appiancorp.common.monitoring.ExecutionMetrics$Layout
log4j.appender.EXECUTION_METRICS.File=${AE_LOGS}/data-metrics/process.csv
log4j.appender.EXECUTION_METRICS.MaxFileSize=10MB
log4j.appender.EXECUTION_METRICS.MaxBackupIndex=10

###### Execution metrics appender
log4j.appender.MODEL_METRICS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.MODEL_METRICS.layout=com.appiancorp.common.monitoring.ProcessModelMetrics$Layout
log4j.appender.MODEL_METRICS.File=${AE_LOGS}/data-metrics/models.csv
log4j.appender.MODEL_METRICS.MaxFileSize=10MB
log4j.appender.MODEL_METRICS.MaxBackupIndex=10

###### Content metrics appender
log4j.appender.CONTENT_METRICS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.CONTENT_METRICS.layout=com.appiancorp.common.monitoring.ContentMetrics$Layout
log4j.appender.CONTENT_METRICS.File=${AE_LOGS}/data-metrics/content.csv
log4j.appender.CONTENT_METRICS.MaxFileSize=10MB
log4j.appender.CONTENT_METRICS.MaxBackupIndex=10

###### Type metrics appender
log4j.appender.TYPE_METRICS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.TYPE_METRICS.layout=com.appiancorp.common.monitoring.TypeMetrics$Layout
log4j.appender.TYPE_METRICS.File=${AE_LOGS}/data-metrics/types.csv
log4j.appender.TYPE_METRICS.MaxFileSize=10MB
log4j.appender.TYPE_METRICS.MaxBackupIndex=10

###### Cache metrics appender
log4j.appender.CACHE_METRICS=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.CACHE_METRICS.layout=com.appiancorp.common.monitoring.CacheMetrics$Layout
log4j.appender.CACHE_METRICS.File=${AE_LOGS}/data-metrics/cache.csv
log4j.appender.CACHE_METRICS.MaxFileSize=10MB
log4j.appender.CACHE_METRICS.MaxBackupIndex=10

###### Performance appender
log4j.appender.EXPRESSION_PERF=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.EXPRESSION_PERF.layout=com.appiancorp.common.logging.CsvLayout
log4j.appender.EXPRESSION_PERF.layout.AddTimestamp=true
log4j.appender.EXPRESSION_PERF.layout.ColumnNames=Timestamp,Category,Detail,Total Call Count,Total Elapsed (nanos)
log4j.appender.EXPRESSION_PERF.File=${AE_LOGS}/perflogs/expression_performance.csv
log4j.appender.EXPRESSION_PERF.MaxFileSize=10MB
log4j.appender.EXPRESSION_PERF.MaxBackupIndex=1000

###### Content file deletion logger appender
log4j.appender.FILE_DELETION=org.apache.log4j.RollingFileAppender
log4j.appender.FILE_DELETION.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE_DELETION.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.FILE_DELETION.File=${AE_LOGS}/deletion.log
log4j.appender.FILE_DELETION.MaxFileSize=10MB
log4j.appender.FILE_DELETION.MaxBackupIndex=1000

###### Secure credentials store appender
log4j.appender.SECURE_CREDENTIALS_STORE=com.appiancorp.common.logging.AppianFileAppender
log4j.appender.SECURE_CREDENTIALS_STORE.layout=com.appiancorp.security.external.ScsActivityLoggerImpl$ScsActivityLoggerCsvLayout
log4j.appender.SECURE_CREDENTIALS_STORE.File=${AE_LOGS}/audit/secure_credentials_store.csv
log4j.appender.SECURE_CREDENTIALS_STORE.MaxFileSize=10MB
log4j.appender.SECURE_CREDENTIALS_STORE.MaxBackupIndex=1000
log4j.appender.SECURE_CREDENTIALS_STORE.encoding=UTF-8