# suppress inspection "UnusedProperty" for whole file
# JIRA logging configuration file.

# Note that these log levels can be set in Admin -> System -> Logging &
# Profiling without restarting JIRA, although the effects don't last
# across restarts.

# Note that if you have another properties file higher in
# the application classloader, that this file will be ignored.

# To see more information about how debugging is being loaded
# start your server with the System property "log4j.debug=true".
# ie: java -Dlog4j.debug=true -jar orion.jar
#
# NOTE: In studio this file is merged with log4j-studio.properties
# to produce the actual log when run in OD.

#####################################################
# LOGGING LEVELS
#####################################################

# To turn more verbose logging on - change "WARN" to "DEBUG"
log4j.rootLogger=WARN, console, filelog, cloudAppender

#####################################################
# LOG FILE LOCATIONS
#####################################################

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
log4j.appender.console.layout.ConversionPattern=%d %t %p %X{jira.username} %X{jira.request.id} %X{jira.request.assession.id} %X{jira.request.ipaddr} %X{jira.request.url} [%q{2}] %m%n
# re-enable when JDEV-33891 is resolved or improved
log4j.appender.console.layout.StackTracePackagingExamined=false
log4j.appender.console.layout.MinimumLines=6
log4j.appender.console.layout.ShowEludedSummary=false
log4j.appender.console.layout.FilteringApplied=true
log4j.appender.console.layout.FilteredFrames=@jira-filtered-frames.properties

log4j.appender.nowarnconsole=org.apache.log4j.ConsoleAppender
log4j.appender.nowarnconsole.Threshold=DEBUG
log4j.appender.nowarnconsole.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
# re-enable when JDEV-33891 is resolved or improved
log4j.appender.nowarnconsole.layout.StackTracePackagingExamined=false
log4j.appender.nowarnconsole.layout.ConversionPattern=%d %t %p %X{jira.username} %X{jira.request.id} %X{jira.request.assession.id} %X{jira.request.ipaddr} %X{jira.request.url} [%q{2}] %m%n
log4j.appender.nowarnconsole.layout.MinimumLines=6
log4j.appender.nowarnconsole.layout.ShowEludedSummary=false
log4j.appender.nowarnconsole.layout.FilteringApplied=true
log4j.appender.nowarnconsole.layout.FilteredFrames=@jira-filtered-frames.properties

#####################################################
# JDEV-26006: This appender is disabled in OD. Checkout log4j-studio.properties for the magic.
#####################################################
#
# Do not remove the filelog appender, it defines the default PatternLayout and ConversionPattern. See LoggingConfigurationImpl class.
#
log4j.appender.filelog=com.atlassian.jira.logging.JiraHomeAppender
log4j.appender.filelog.File=atlassian-jira.log
log4j.appender.filelog.MaxFileSize=20480KB
log4j.appender.filelog.MaxBackupIndex=5
log4j.appender.filelog.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
log4j.appender.filelog.layout.ConversionPattern=%d %t %p %X{jira.username} %X{jira.request.id} %X{jira.request.assession.id} %X{jira.request.ipaddr} %X{jira.request.url} [%q{2}] %m%n
# re-enable when JDEV-33891 is resolved or improved
log4j.appender.filelog.layout.StackTracePackagingExamined=false
log4j.appender.filelog.layout.MinimumLines=6
log4j.appender.filelog.layout.ShowEludedSummary=false
log4j.appender.filelog.layout.FilteringApplied=true
log4j.appender.filelog.layout.FilteredFrames=@jira-filtered-frames.properties


log4j.appender.httpaccesslog=com.atlassian.jira.logging.JiraHomeAppender
log4j.appender.httpaccesslog.File=atlassian-jira-http-access.log
log4j.appender.httpaccesslog.MaxFileSize=20480KB
log4j.appender.httpaccesslog.MaxBackupIndex=5
log4j.appender.httpaccesslog.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
log4j.appender.httpaccesslog.layout.ConversionPattern=%m%n

log4j.appender.httpdumplog=com.atlassian.jira.logging.JiraHomeAppender
log4j.appender.httpdumplog.File=atlassian-jira-http-dump.log
log4j.appender.httpdumplog.MaxFileSize=20480KB
log4j.appender.httpdumplog.MaxBackupIndex=5
log4j.appender.httpdumplog.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
log4j.appender.httpdumplog.layout.ConversionPattern=%m%n

log4j.appender.sqllog=com.atlassian.jira.logging.JiraHomeAppender
log4j.appender.sqllog.File=atlassian-jira-sql.log
log4j.appender.sqllog.MaxFileSize=20480KB
log4j.appender.sqllog.MaxBackupIndex=5
log4j.appender.sqllog.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
log4j.appender.sqllog.layout.ConversionPattern=%d %t %X{jira.username} %X{jira.request.id} %X{jira.request.assession.id} %X{jira.request.url} %m%n

log4j.appender.slowquerylog=com.atlassian.jira.logging.JiraHomeAppender
log4j.appender.slowquerylog.File=atlassian-jira-slow-queries.log
log4j.appender.slowquerylog.MaxFileSize=20480KB
log4j.appender.slowquerylog.MaxBackupIndex=5
log4j.appender.slowquerylog.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
log4j.appender.slowquerylog.layout.ConversionPattern=%d %t %p %X{jira.username} %X{jira.request.id} %X{jira.request.assession.id} %X{jira.request.url} [%q{2}] %m%n
# re-enable when JDEV-33891 is resolved or improved
log4j.appender.slowquerylog.layout.StackTracePackagingExamined=false
log4j.appender.slowquerylog.layout.MinimumLines=6
log4j.appender.slowquerylog.layout.ShowEludedSummary=false
log4j.appender.slowquerylog.layout.FilteringApplied=true
log4j.appender.slowquerylog.layout.FilteredFrames=@jira-filtered-frames.properties

log4j.appender.querydsllog=com.atlassian.jira.logging.JiraHomeAppender
log4j.appender.querydsllog.File=atlassian-jira-querydsl-sql.log
log4j.appender.querydsllog.MaxFileSize=20480KB
log4j.appender.querydsllog.MaxBackupIndex=5
log4j.appender.querydsllog.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
log4j.appender.querydsllog.layout.ConversionPattern=%d %t %X{jira.username} %X{jira.request.id} %X{jira.request.assession.id} %X{jira.request.url} %m%n

log4j.appender.slowsqlquerylog=com.atlassian.jira.logging.JiraHomeAppender
log4j.appender.slowsqlquerylog.File=atlassian-jira-slow-querydsl-queries.log
log4j.appender.slowsqlquerylog.MaxFileSize=20480KB
log4j.appender.slowsqlquerylog.MaxBackupIndex=5
log4j.appender.slowsqlquerylog.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
log4j.appender.slowsqlquerylog.layout.ConversionPattern=%d %t %p %X{jira.username} %X{jira.request.id} %X{jira.request.assession.id} %X{jira.request.url} [%q{2}] %m%n

log4j.appender.xsrflog=com.atlassian.jira.logging.JiraHomeAppender
log4j.appender.xsrflog.File=atlassian-jira-xsrf.log
log4j.appender.xsrflog.MaxFileSize=20480KB
log4j.appender.xsrflog.MaxBackupIndex=5
log4j.appender.xsrflog.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
log4j.appender.xsrflog.layout.ConversionPattern=%d %t %X{jira.username} %X{jira.request.id} %X{jira.request.assession.id} %X{jira.request.url} %m%n

log4j.appender.securitylog=com.atlassian.jira.logging.JiraHomeAppender
log4j.appender.securitylog.File=atlassian-jira-security.log
log4j.appender.securitylog.MaxFileSize=20480KB
log4j.appender.securitylog.MaxBackupIndex=5
log4j.appender.securitylog.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
log4j.appender.securitylog.layout.ConversionPattern=%d %t %X{jira.username} %X{jira.request.id} %X{jira.request.assession.id} %X{jira.request.ipaddr} %X{jira.request.url} %m%n

log4j.appender.outgoingmaillog=com.atlassian.jira.logging.JiraHomeAppender
log4j.appender.outgoingmaillog.File=atlassian-jira-outgoing-mail.log
log4j.appender.outgoingmaillog.MaxFileSize=20480KB
log4j.appender.outgoingmaillog.MaxBackupIndex=5
log4j.appender.outgoingmaillog.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
log4j.appender.outgoingmaillog.layout.ConversionPattern=%d %p [%X{jira.mailserver}] %t %X{jira.username} %X{jira.request.id} %X{jira.request.assession.id} %X{jira.request.ipaddr} %X{jira.request.url} %m%n

log4j.appender.incomingmaillog=com.atlassian.jira.logging.JiraHomeAppender
log4j.appender.incomingmaillog.File=atlassian-jira-incoming-mail.log
log4j.appender.incomingmaillog.MaxFileSize=20480KB
log4j.appender.incomingmaillog.MaxBackupIndex=5
log4j.appender.incomingmaillog.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
log4j.appender.incomingmaillog.layout.ConversionPattern=%d %p [%X{jira.mailserver}] %t %X{jira.username} %X{jira.request.id} %X{jira.request.assession.id} %X{jira.request.ipaddr} %X{jira.request.url} %m%n

log4j.appender.remoteappssecurity=com.atlassian.jira.logging.JiraHomeAppender
log4j.appender.remoteappssecurity.File=atlassian-remoteapps-security.log
log4j.appender.remoteappssecurity.MaxFileSize=20480KB
log4j.appender.remoteappssecurity.MaxBackupIndex=5
log4j.appender.remoteappssecurity.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
log4j.appender.remoteappssecurity.layout.ConversionPattern=%d %t %p %X{jira.username} %X{jira.request.id} %X{jira.request.assession.id} %X{jira.request.ipaddr} %X{jira.request.url} [%q{2}] %m%n
# re-enable when JDEV-33891 is resolved or improved
log4j.appender.remoteappssecurity.layout.StackTracePackagingExamined=false
log4j.appender.remoteappssecurity.layout.MinimumLines=6
log4j.appender.remoteappssecurity.layout.ShowEludedSummary=false
log4j.appender.remoteappssecurity.layout.FilteringApplied=true
log4j.appender.remoteappssecurity.layout.FilteredFrames=@jira-filtered-frames.properties

#####################################################
# LaaS cloud appender configuration. This appender only applies to Cloud instances
#####################################################
# cloudAppender does nothing unless the sysprop "atlassian.logging.cloud.enabled" is set to true
log4j.appender.cloudAppender=com.atlassian.logging.log4j.appender.FluentdAppender
log4j.appender.cloudAppender.FluentdEndpoint=http://log-collector:8080/jira
log4j.appender.cloudAppender.layout=com.atlassian.logging.log4j.layout.JsonLayout
log4j.appender.cloudAppender.layout.FilteredFrames=@jira-filtered-frames.properties
log4j.appender.cloudAppender.layout.DataProvider=com.atlassian.jira.logging.log4j.layout.json.JiraJsonDataProvider
log4j.appender.cloudAppender.Threshold=OFF

#####################################################
# Log Marking
#####################################################

log4j.logger.com.atlassian.jira.util.log.LogMarker  = INFO, console, filelog, httpaccesslog, httpdumplog, sqllog, querydsllog, slowquerylog, slowsqlquerylog, xsrflog, securitylog, outgoingmaillog, incomingmaillog, remoteappssecurity
log4j.additivity.com.atlassian.jira.util.log.LogMarker = false


#####################################################
# Access logs
#####################################################

log4j.logger.com.atlassian.jira.web.filters.accesslog.AccessLogFilter = OFF, httpaccesslog
log4j.additivity.com.atlassian.jira.web.filters.accesslog.AccessLogFilter = false

log4j.logger.com.atlassian.jira.web.filters.accesslog.AccessLogFilterIncludeImages = OFF, httpaccesslog
log4j.additivity.com.atlassian.jira.web.filters.accesslog.AccessLogFilterIncludeImages = false

log4j.logger.com.atlassian.jira.web.filters.accesslog.AccessLogFilterDump = OFF, httpdumplog
log4j.additivity.com.atlassian.jira.web.filters.accesslog.AccessLogFilterDump = false

#####################################################
# SQL logs
#####################################################
#
# Beware of turning this log level on.  At INFO level it will log every SQL statement
# and at DEBUG level it will also log the calling stack trace.  Turning this on will DEGRADE your
# JIRA database throughput.
#
log4j.logger.com.atlassian.jira.ofbiz.LoggingSQLInterceptor = OFF, sqllog
log4j.additivity.com.atlassian.jira.ofbiz.LoggingSQLInterceptor = false

log4j.logger.com.atlassian.jira.security.xsrf.XsrfVulnerabilityDetectionSQLInterceptor = OFF, xsrflog
log4j.additivity.com.atlassian.jira.security.xsrf.XsrfVulnerabilityDetectionSQLInterceptor = false


#####################################################
# Security logs
#####################################################

log4j.logger.com.atlassian.jira.login.security = INFO, securitylog
log4j.additivity.com.atlassian.jira.login.security = false

#
#
# The following log levels can be useful to set when login problems occur within JIRA
#
log4j.logger.com.atlassian.jira.login = WARN, securitylog
log4j.additivity.com.atlassian.jira.login = false

log4j.logger.com.atlassian.jira.web.session.currentusers = WARN, securitylog
log4j.additivity.com.atlassian.jira.web.session.currentusers = false

#
# BEWARE - Turning on Seraph debug logs will result in many logs lines per web request.
#
log4j.logger.com.atlassian.seraph = WARN, securitylog
log4j.additivity.com.atlassian.seraph = false

#
#---------------

#####################################################
# CLASS-SPECIFIC LOGGING LEVELS
#####################################################
# This stuff you may wish to debug, but it produces a high volume of logs.
# Uncomment only if you want to debug something particular

log4j.logger.com.atlassian = WARN, console, filelog, cloudAppender
log4j.additivity.com.atlassian = false

log4j.logger.com.atlassian.jira = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira = false

log4j.logger.com.atlassian.plugin = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.plugin = false

log4j.logger.atlassian.plugin = INFO, console, filelog, cloudAppender
log4j.additivity.atlassian.plugin = false

log4j.logger.org.twdata.pkgscanner = WARN, console, filelog, cloudAppender
log4j.additivity.org.twdata.pkgscanner = false

log4j.logger.com.atlassian.plugin.osgi.factory = WARN, console, filelog, cloudAppender
log4j.additivity.com.atlassian.plugin.osgi.factory = false

log4j.logger.com.atlassian.plugin.osgi.container = WARN, console, filelog, cloudAppender
log4j.additivity.com.atlassian.plugin.osgi.container = false

log4j.logger.org.apache.shindig = ERROR, console, filelog, cloudAppender
log4j.additivity.org.apache.shindig = false

log4j.logger.com.atlassian.gadgets = WARN, console, filelog, cloudAppender
log4j.additivity.com.atlassian.gadgets = false

# The directory may produce errors of interest to admins when adding gadgets with features that aren't supported
# (for example).
log4j.logger.com.atlassian.gadgets.directory = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.gadgets.directory = false

# Felix annoyingly dumps some pretty silly INFO level messages. So we have to set logging to WARN here.  Means
# we miss out on some useful startup logging.  Should probably remove this if Felix ever fix this.
log4j.logger.com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager = WARN, console, filelog, cloudAppender
log4j.additivity.com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager = false

log4j.logger.com.atlassian.plugin.servlet = WARN, console, filelog, cloudAppender
log4j.additivity.com.atlassian.plugin.servlet = false

log4j.logger.com.atlassian.plugin.classloader = WARN, console, filelog, cloudAppender
log4j.additivity.com.atlassian.plugin.classloader = false

# PluginEnabler spams startup log with 200+ messages about plugins getting enabled
log4j.logger.com.atlassian.plugin.manager.PluginEnabler = WARN, console, filelog, cloudAppender
log4j.additivity.com.atlassian.plugin.manager.PluginEnabler = false

# DevModeBeanInitialisationLoggerBeanPostProcessor spams with shit tonne of boring debug-level messages at WARN
log4j.logger.com.atlassian.plugin.spring.scanner.extension.DevModeBeanInitialisationLoggerBeanPostProcessor = ERROR, console, filelog, cloudAppender
log4j.additivity.com.atlassian.plugin.spring.scanner.extension.DevModeBeanInitialisationLoggerBeanPostProcessor = false

log4j.logger.com.atlassian.jira.util.system.JiraSystemRestarterImpl = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.util.system.JiraSystemRestarterImpl = false

log4j.logger.com.atlassian.upgrade = INFO, console, filelog
log4j.additivity.com.atlassian.upgrade = false

log4j.logger.com.atlassian.jira.upgrade = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.upgrade = false

log4j.logger.com.atlassian.jira.upgrade.tasks.role = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.upgrade.tasks.role = false

log4j.logger.com.atlassian.jira.startup = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.startup = false

log4j.logger.com.atlassian.jira.config.database = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.config.database = false

log4j.logger.com.atlassian.jira.web.action.util.LDAPConfigurer = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.web.action.util.LDAPConfigurer = false

log4j.logger.com.atlassian.jira.imports  = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.imports = false

log4j.logger.com.atlassian.jira.plugin  = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.plugin = false

log4j.logger.com.atlassian.jira.bc.dataimport  = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.bc.dataimport = false

log4j.logger.com.atlassian.jira.security = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.security = false

log4j.logger.com.atlassian.jira.issue.index = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.issue.index = false

log4j.logger.com.atlassian.jira.index.AccumulatingResultBuilder = WARN, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.index.AccumulatingResultBuilder = false

# DefaultIndexManager should run at INFO level, because we want to see messages when we force an optimise etc.
log4j.logger.com.atlassian.jira.issue.index.DefaultIndexManager = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.issue.index.DefaultIndexManager = false

# Allow the Composite IndexLifecycleManager to log info
log4j.logger.com.atlassian.jira.util.index = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.util.index = false

log4j.logger.com.atlassian.jira.project = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.project = false

log4j.logger.com.atlassian.jira.project.version = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.project.version = false

log4j.logger.com.atlassian.jira.issue.search.providers = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.issue.search.providers = false

log4j.logger.com.atlassian.jira.issue.search.providers.LuceneSearchProvider_SLOW = INFO, slowquerylog
log4j.additivity.com.atlassian.jira.issue.search.providers.LuceneSearchProvider_SLOW = false

log4j.logger.com.atlassian.jira.issue.search.providers.DbSearchProvider_SLOW = INFO, slowsqlquerylog
log4j.additivity.com.atlassian.jira.issue.search.providers.DbSearchProvider_SLOW = false

log4j.logger.com.atlassian.jira.action.admin = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.action.admin = false

log4j.logger.com.opensymphony = WARN, console, filelog, cloudAppender
log4j.additivity.com.opensymphony = false

log4j.logger.com.atlassian.jira.user = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.user = false

log4j.logger.com.atlassian.jira.bc.user = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.bc.user = false

log4j.logger.com.atlassian.jira.workflow = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.workflow = false

log4j.logger.com.atlassian.jira.service = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.service = false

log4j.logger.com.atlassian.jira.service.services.DebugService = DEBUG, console, filelog
log4j.additivity.com.atlassian.jira.service.services.DebugService = false

log4j.logger.com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher = WARN, nowarnconsole, filelog
log4j.additivity.com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher = false
log4j.logger.webwork = WARN, console, filelog, cloudAppender
log4j.additivity.webwork = false

log4j.logger.webwork.util.ServletValueStack = WARN, console, filelog, cloudAppender

log4j.logger.org.ofbiz.core.entity.jdbc.DatabaseUtil = INFO, nowarnconsole, filelog, cloudAppender
log4j.additivity.org.ofbiz.core.entity.jdbc.DatabaseUtil = false
log4j.logger.org.ofbiz = WARN, console, filelog, cloudAppender
log4j.additivity.org.ofbiz = false

log4j.logger.com.atlassian.jira.plugin.ext.perforce = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.plugin.ext.perforce = false

log4j.logger.logMessage.jsp = INFO, console, filelog, cloudAppender
log4j.additivity.logMessage.jsp = false

log4j.logger.com.atlassian.jira.issue.views = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.issue.views = false

# Project Imports should be logged at INFO level so we can see the steps running.
log4j.logger.com.atlassian.jira.imports.project = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.imports.project = false

log4j.logger.com.atlassian.jira.plugin.userformat.DefaultUserFormats = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.plugin.userformat.DefaultUserFormats = false

log4j.logger.com.atlassian.jira.scheduler.JiraSchedulerLauncher = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.scheduler.JiraSchedulerLauncher = false

log4j.logger.com.atlassian.sal.jira.scheduling = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.sal.jira.scheduling = false

log4j.logger.httpclient.wire = WARN, console, filelog, cloudAppender
log4j.additivity.httpclient.wire = false

#####################################################
# Crowd Embedded
#####################################################

# We want to get INFO level logs about Directory events
log4j.logger.com.atlassian.crowd.directory = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.crowd.directory = false

#####################################################
# REST
#####################################################

# only show WARN for WADL generation doclet
log4j.logger.com.atlassian.plugins.rest.doclet = WARN, console, filelog, cloudAppender
log4j.additivity.com.atlassian.plugins.rest.doclet = false

# JRADEV-12012: suppress irrelevant warnings.
log4j.logger.com.sun.jersey.spi.container.servlet.WebComponent = ERROR, console, filelog, cloudAppender
log4j.additivity.com.sun.jersey.spi.container.servlet.WebComponent = false

#####################################################
# JQL
#####################################################

log4j.logger.com.atlassian.jira.jql  = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.jql = false

log4j.logger.com.atlassian.jira.jql.resolver = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.jql.resolver = false

#####################################################
# UAL
#####################################################

log4j.logger.com.atlassian.applinks  = WARN, console, filelog, cloudAppender
log4j.additivity.com.atlassian.applinks = false

#####################################################
# ActiveObjects
#####################################################

log4j.logger.net.java.ao  = WARN, console, filelog, cloudAppender
log4j.additivity.net.java.ao = false

log4j.logger.net.java.ao.sql  = WARN, console, filelog, cloudAppender
log4j.additivity.net.java.ao.sql = false

log4j.logger.net.java.ao.schema.SchemaGenerator = ERROR, console, filelog, cloudAppender
log4j.additivity.net.java.ao.schema.SchemaGenerator = false

#####################################################
# Long Running Tasks
#####################################################

log4j.logger.com.atlassian.jira.workflow.migration  = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.workflow.migration = false

log4j.logger.com.atlassian.jira.web.action.admin.index.IndexAdminImpl = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.web.action.admin.index.IndexAdminImpl = false

#####################################################
# PROFILING
#####################################################

log4j.logger.com.atlassian.util.profiling.filters = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.util.profiling.filters = false

log4j.logger.com.atlassian.util.profiling = DEBUG, console, filelog
log4j.additivity.com.atlassian.util.profiling = false

log4j.logger.com.atlassian.jira.web.filters.ThreadLocalQueryProfiler = DEBUG, console, filelog
log4j.additivity.com.atlassian.jira.web.filters.ThreadLocalQueryProfiler = false

#
# By default we ignore some usually harmless exception such as Client Abort Exceptions.  However
# if this proves problematic then we can turn this to DEBUG log on.
#
log4j.logger.com.atlassian.jira.web.exception.WebExceptionChecker = OFF, console, filelog
log4j.additivity.com.atlassian.jira.web.exception.WebExceptionChecker = false

#
# Errors in the logs occur at this logger if the user cancels a form upload. The actual exception
# is rethrown and dealt with elsewhere so there is no need to keep these logs around.
#
log4j.logger.webwork.multipart.MultiPartRequestWrapper = OFF, console, filelog
log4j.additivity.webwork.multipart.MultiPartRequestWrapper = false

log4j.logger.com.atlassian.jira.plugins.monitor = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.plugins.monitor = false

#####################################################
# Mails
#####################################################

#
# outgoing mail log includes also some logging information from classes which handle both incoming and outgoing mails
# that's why the appender is configured at com.atlassian.mail level (not com.atlassian.mail.outgoing)
#
log4j.logger.com.atlassian.mail = INFO, console, outgoingmaillog, cloudAppender
log4j.additivity.com.atlassian.mail = false

log4j.logger.com.atlassian.mail.incoming = INFO, console, incomingmaillog, cloudAppender
log4j.additivity.com.atlassian.mail.incoming = false

# changes in mail settings need to be logged
log4j.logger.com.atlassian.jira.mail.settings.MailSetting = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.mail.settings.MailSetting = false

#
# Need to ensure that the actual discovery of duplicates is logged
#
log4j.logger.com.atlassian.jira.upgrade.tasks.UpgradeTask_Build663 = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.upgrade.tasks.UpgradeTask_Build663 = false

# JRADEV-19240: Suppress useless warnings (will be fixed in atlassian-soy-templates-2.0.0, see SOY-18)
log4j.logger.com.atlassian.soy.impl.GetTextFunction = ERROR, console, filelog, cloudAppender
log4j.additivity.com.atlassian.soy.impl.GetTextFunction = false

# JRADEV-19613: Remote should log security messages to a separate log file
log4j.logger.com.atlassian.plugin.remotable.plugin.module.oauth.OAuth2LOAuthenticator = INFO, console, remoteappssecurity, cloudAppender
log4j.additivity.com.atlassian.plugin.remotable.plugin.module.oauth.OAuth2LOAuthenticator = false

log4j.logger.com.atlassian.plugin.remotable.plugin.module.permission.ApiScopingFilter = INFO, console, remoteappssecurity, cloudAppender
log4j.additivity.com.atlassian.plugin.remotable.plugin.module.permission.ApiScopingFilter = false

log4j.logger.com.atlassian.plugin.remotable.plugin.OAuthLinkManager = INFO, console, remoteappssecurity, cloudAppender
log4j.additivity.com.atlassian.plugin.remotable.plugin.OAuthLinkManager = false

log4j.logger.com.atlassian.plugin.remotable.plugin.util.http.CachingHttpContentRetriever = INFO, console, remoteappssecurity, cloudAppender
log4j.additivity.com.atlassian.plugin.remotable.plugin.util.http.CachingHttpContentRetriever = false

log4j.logger.com.atlassian.plugin.remotable.plugin.service.LocalSignedRequestHandler = INFO, console, remoteappssecurity, cloudAppender
log4j.additivity.com.atlassian.plugin.remotable.plugin.service.LocalSignedRequestHandler = false

log4j.logger.com.atlassian.plugin.remotable.host.common.service.http.bigpipe.DefaultBigPipeManager = INFO, console, remoteappssecurity, cloudAppender
log4j.additivity.com.atlassian.plugin.remotable.host.common.service.http.bigpipe.DefaultBigPipeManager = false

log4j.logger.com.atlassian.jira.web.bean.BackingI18n = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.web.bean.BackingI18n = false

log4j.logger.com.atlassian.studio.jira.homepage.CloudHomepageFilter = INFO, console, filelog, cloudAppender
log4j.additivity.com.atlassian.studio.jira.homepage.CloudHomepageFilter = false

#
# Suppress excessive config warnings from EHCACHE
#
log4j.logger.net.sf.ehcache.config.CacheConfiguration = ERROR, console, filelog, cloudAppender
log4j.additivity.net.sf.ehcache.config.CacheConfiguration = false
# This one so it is in the UI and can be set
log4j.logger.net.sf.ehcache.distribution = ERROR, console, filelog, cloudAppender
log4j.additivity.net.sf.ehcache.distribution = false
log4j.logger.com.atlassian.jira.cluster.cache.ehcache.BlockingParallelCacheReplicator = ERROR, console, filelog, cloudAppender
log4j.additivity.com.atlassian.jira.cluster.cache.ehcache.BlockingParallelCacheReplicator = false

#
# Logging of cache flush events for the most costly caches
#
# Dummy parent logger not to write additivity for each cache
log4j.logger.com.atlassian.cache.event = OFF, console, filelog
log4j.additivity.com.atlassian.cache.event = false
log4j.logger.com.atlassian.cache.stacktrace = OFF, console, filelog
log4j.additivity.com.atlassian.cache.stacktrace = false

log4j.logger.com.atlassian.cache.event.com.atlassian.jira.crowd.embedded.ofbiz.EagerOfBizUserCache.userCache = INFO
log4j.logger.com.atlassian.cache.event.com.atlassian.jira.crowd.embedded.ofbiz.EagerOfBizGroupCache.groupCache = INFO

#
# Added to give more information on AO startup
#
log4j.logger.com.atlassian.activeobjects.osgi = DEBUG, console, filelog
log4j.additivity.com.atlassian.activeobjects.osgi = false

log4j.appender.startupjdbc=com.atlassian.jira.logging.JiraHomeAppender
log4j.appender.startupjdbc.File=jdbc-startup.log
log4j.appender.startupjdbc.MaxFileSize=10480KB
log4j.appender.startupjdbc.MaxBackupIndex=2
log4j.appender.startupjdbc.layout=com.atlassian.logging.log4j.NewLineIndentingFilteringPatternLayout
log4j.appender.startupjdbc.layout.ConversionPattern=%m%n
log4j.logger.jdbc.startup.log = INFO, startupjdbc
log4j.additivity.jdbc.startup.log = false