# 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

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

# To turn more verbose logging on - change "WARN" to "DEBUG"

log4j.rootLogger=WARN, console, errorlog, filelog

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

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern= %d %t %p [%c{4}] %m%n


log4j.appender.nowarnconsole=org.apache.log4j.ConsoleAppender
log4j.appender.nowarnconsole.Threshold=DEBUG
log4j.appender.nowarnconsole.layout=org.apache.log4j.PatternLayout
log4j.appender.nowarnconsole.layout.ConversionPattern= %d %t [%c{4}] %m%n


log4j.appender.filelog=org.apache.log4j.RollingFileAppender
log4j.appender.filelog.File=atlassian-jira.log
log4j.appender.filelog.MaxFileSize=20480KB
log4j.appender.filelog.MaxBackupIndex=5
log4j.appender.filelog.layout=org.apache.log4j.PatternLayout
log4j.appender.filelog.layout.ConversionPattern=%d %t %p [%c{4}] %m%n

#####################################################
# 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.category.com.atlassian = WARN, console, filelog
log4j.additivity.com.atlassian = false

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

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

log4j.category.com.atlassian.jira.util.BugzillaImportBean  = INFO, console, filelog
log4j.additivity.com.atlassian.jira.util.BugzillaImportBean = false

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

log4j.category.com.atlassian.jira.util.MantisImportBean  = INFO, console, filelog
log4j.additivity.com.atlassian.jira.util.MantisImportBean = false

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

log4j.category.com.atlassian.seraph = WARN, console, filelog
log4j.additivity.com.atlassian.seraph = false

log4j.category.com.atlassian.jira.security = WARN, console, filelog
log4j.additivity.com.atlassian.jira.security = false

log4j.category.com.atlassian.jira.issue.index = WARN, console, filelog
log4j.additivity.com.atlassian.jira.issue.index = false

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

# Allow the optimise job to log at info level so that we can see the last time it ran
log4j.category.com.atlassian.jira.issue.index.job.OptimizeIndexJob = INFO, console, filelog
log4j.additivity.com.atlassian.jira.issue.index.job.OptimizeIndexJob = false

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

log4j.category.com.atlassian.jira.project = WARN, console, filelog
log4j.additivity.com.atlassian.jira.project = false

log4j.category.com.atlassian.jira.project.version = WARN, console, filelog
log4j.additivity.com.atlassian.jira.project.version = false

log4j.category.com.atlassian.jira.user.job.RefreshActiveUserCountJob = INFO, console, filelog
log4j.additivity.com.atlassian.jira.user.job.RefreshActiveUserCountJob = false

log4j.category.com.atlassian.jira.issue.search.providers = WARN, console, filelog
log4j.additivity.com.atlassian.jira.issue.search.providers = false

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

log4j.category.com.opensymphony = WARN, console, filelog
log4j.additivity.com.opensymphony = false

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

log4j.category.com.atlassian.jira.web.filters.AccessLogFilter = WARN, console, filelog
log4j.additivity.com.atlassian.jira.web.filters.AccessLogFilter = false

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

log4j.category.webwork.dispatcher.ServletDispatcher = WARN, nowarnconsole, filelog
log4j.additivity.webwork.dispatcher.ServletDispatcher = false
log4j.category.webwork = WARN, console, filelog
log4j.additivity.webwork = false

log4j.category.webwork.util.ServletValueStack = WARN, console, filelog

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

log4j.category.uk.ltd.getahead.dwr.impl.DefaultConverterManager  = WARN, console, filelog
log4j.additivity.uk.ltd.getahead.dwr.impl.DefaultConverterManager = false

log4j.category.com.atlassian.jira.web.servlet.rpc = INFO, console, filelog
log4j.additivity.com.atlassian.jira.web.servlet.rpc = false
log4j.category.com.atlassian.jira.soap = INFO, console, filelog
log4j.additivity.com.atlassian.jira.soap = false

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

log4j.category.jelly = INFO, console, filelog
log4j.additivity.jelly = false

log4j.category.logMessage.jsp = INFO, console, filelog
log4j.additivity.logMessage.jsp = false

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

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

log4j.category.com.atlassian.jira.plugin.profile.DefaultUserFormatMapper = INFO, console, filelog
log4j.additivity.com.atlassian.jira.plugin.profile.DefaultUserFormatMapper = false

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

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

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

#####################################################

#####################################################
# THREAD LOCAL ERROR LOG APPENDER
#####################################################
log4j.appender.errorlog=com.atlassian.core.logging.ThreadLocalErrorLogAppender
log4j.appender.errorlog.Threshold=WARN
