Documentation for JIRA 4.2. Documentation for other versions of JIRA is available too.
On this page:
JIRA uses a powerful logging module called log4j for runtime logging.
The logs are written to your JIRA Home Directory (or the current working directory, if the JIRA home directory is not configured). You can view the location of the atlassian-jira.log
(and the current working directory) in the 'File Paths' section of the System Information page.
atlassian-jira-security.log
.In the log4j.properties
file (located in the JIRA Home Directory),
log4j.appender.filelog=com.atlassian.jira.logging.JiraHomeAppender
log4j.appender.filelog=org.apache.log4j.RollingFileAppender
log4j.appender.filelog.File=atlassian-jira.log
There are five logging levels available in log4j: 'DEBUG', 'INFO', 'WARN', 'ERROR'
and 'FATAL'
. Each logging level provides more logging information that the level before it:
'DEBUG' provides the most verbose logging and 'FATAL' provides the least verbose logging. The default level is WARN, meaning warnings and errors are displayed. Sometimes it is useful to adjust this level to see more detail.
The default logging levels can be changed either
For example, when troubleshooting, you might temporarily change the logging level from 'WARNING' to 'INFO' so as to get a more detailed error message or a stack trace. If you are unsure of which logging categories to adjust, the most helpful information generally comes from the log4j.rootLogger
category and the log4j
<category>.com.atlassian
categories.
log4j.properties
file, which is found in the WEB-INF/classes/
directory under the JIRA web application directory.log4j.logger.com.atlassian = WARN, console, filelog log4j.additivity.com.atlassian = false
WARN
to DEBUG
).
The log4j.properties
file that ships with JIRA has the default logging levels specified. For more information about log4j (e.g. how to define new logging categories), and about the format of the log4j.properties
file, please refer to the documentation on the log4j site.
If your application server itself configures logging (e.g. JBoss), you may need to remove the log4j.properties
file. On some servers (e.g. JBoss 3.0), you may also need to remove the entire log4j.jar
file to get logging to work.
If you are using JIRA version 4.2.0 or 4.2.1, we strongly recommend that you do not enable profiling as this will cause JIRA to generate an error when the 'Watched Issues' gadget is used on the Dashboard. (See JRA-22623 for details.) To resolve this issue, upgrade to JIRA 4.2.2 or later.
If you are experiencing performance issues with JIRA, it is often helpful to see where the slow-downs occur. To do this you can enable profiling as described below, and then analyse the performance traces that JIRA will produce for every request. An example of a profiling trace is shown below:
[Filter: profiling] Turning filter on [jira_profile=on] [116ms] - /secure/Dashboard.jspa [5ms] - IssueManager.execute() [5ms] - IssueManager.execute() [5ms] - Searching Issues [29ms] - IssueManager.execute() [29ms] - IssueManager.execute() [29ms] - Searching Issues [28ms] - Lucene Query [23ms] - Lucene Search
Profiling can be enabled either
atlassian-jira/WEB-INF/web.xml
(if you are using JIRA Standalone) or webapp/WEB-INF/web.xml
in your JIRA installation directory (if you are using JIRA EAR/WAR).<filter> <filter-name>profiling</filter-name> <filter-class>com.atlassian.jira.web.filters.JIRAProfilingFilter</filter-class> <init-param> <!-- specify the which HTTP parameter to use to turn the filter on or off --> <!-- if not specified - defaults to "profile.filter" --> <param-name>activate.param</param-name> <param-value>jira_profile</param-value> </init-param> <init-param> <!-- specify the whether to start the filter automatically --> <!-- if not specified - defaults to "true" --> <param-name>autostart</param-name> <param-value>false</param-value> </init-param> </filter>
autostart
parameter to be true instead of false. That is:
<init-param> <!-- specify the whether to start the filter automatically --> <!-- if not specified - defaults to "true" --> <param-name>autostart</param-name> <param-value>true</param-value> </init-param>
build
script and the instructions for your application server.