Logging in Bamboo

Bamboo generates the following sets of logs:

Build logs
The build logs are generated each time a plan is executed. All information specific to the build is stored in these logs, which can be downloaded as an artifact (see Viewing a build's artifacts). You cannot change the logging configuration for the build logs.

The build logs are located in the <Bamboo-Home>/xml-data/builds/ sub-directories.

Bamboo server logs

Bamboo records all server activity in the atlassian-bamboo.log. The location of the atlassian-bamboo.log file can be viewed in Bamboo's System Information under the 'Bamboo Paths' section. 

In case of a Tomcat webapp deployment, the logs are piped out to catalina.out file.

atlassian-bamboo logs for elastic agents 

Elastic agent activity is logged inside the elastic instance where the elastic agent runs. To access the elastic agent logs (atlassian-bamboo.log and bamboo-elastic-agent.out) use ssh to log in to your elastic instance as described in Viewing an elastic instance and retrieve the logs.

atlassian-bamboo logs for remote agents 

All agent activity is recorded in atlassian-bamboo-agent.log file stored on the agent machine. These are generated in the running directory of the agent. The running directory can be viewed in the remote agent's system properties under the 'Bamboo Paths' section.

See Locating important directories and files for information on where to find other important files in Bamboo.

Configuring the level of logging on the Bamboo server

Bamboo uses the log4j library for logging during runtime. The logging levels can be changed by editing the <Bamboo-Install>/atlassian-bamboo/WEB-INF/classes/log4j.properties file. There are five logging levels available: 'DEBUG', 'INFO', 'WARN', 'ERROR' and 'FATAL'. Each logging level provides more logging information that the level after it:
i.e. DEBUG provides the most verbose logging and FATAL provides the least verbose logging.

You can adjust the logging levels for the different Bamboo packages on the fly, using the runtime log4j configuration tool in the Bamboo administration console. The default log settings are still stored in the log4j.properties file. When you view the log settings page for the first time you will see the default log settings as defined in log4j.properties. All changes to the log settings via the runtime log4j configuration tool will not be persisted and are valid during Bamboo runtime only.

Before you begin:

  • Note, you do not need to restart your Bamboo server for any logging changes to take effect.

Change the level of logging on your Bamboo server

  1. Click the  icon in the Bamboo header and choose Overview.
  2. Click Log Settings (under 'System') in the left navigation panel. The 'Bamboo Log Settings' page will display showing the Bamboo packages being logged (see screenshot below).
    • To change the logging level of a package that is already being logged, locate the Bamboo package, select the desired logging level from the list next to it and click Save.
    • To start monitoring a package in the Bamboo logs, enter the class name in the text box at the top of the page, select the desired logging level from the list next to it and click Add.
    • To stop logging a package, locate the Bamboo package and click Delete next to it.

Screenshot: Bamboo log settings

Configuring the level of logging on remote agents

The runtime log4j configuration tool in the Bamboo administration console can only be used to modify the logging levels for the Bamboo server. To configure the logging levels for your remote agents, you will need to update the log4j.properties file manually.

You can control the logging for each of remote agents separately from the Bamboo server. To do this, simply repeat the process described below for multiple remote agents, so that each remote agent has a log4j.properties file that overrides the log4j.properties file on the Bamboo server.

Change the level of logging on your remote agent

  1. Configure a log4j.properties file for your remote agent. This can be any log4j.properties file. If you do not already have a log4j.properties file, you can take a copy of the log4j.properties file from the server, copy it to your remote agent and configure it as desired.

    log4j.properties file example:

    log4j.rootLogger=INFO, console
    log4j.appender.console.layout.ConversionPattern=%d %p [%t] [%c{1}] %m%n
    • The rootLogger property in the log4j.properties file controls the verbosity of logs being generated at the top level. By default, the root level logging is set to 'INFO'. To change the root level logging, find the following lines in <Bamboo-Install>/webapp/WEB-INF/classes/log4j.properties file and update the value of log4j.rootLoggerto the desired logging level:

      # Change the following line to configure the bamboo logging levels (one of INFO, DEBUG, ERROR, FATAL)
      log4j.rootLogger=INFO, console, filelog
    • Modify the logging level for any of the individual packages in the log4j.properties as desired, e.g. log4j.category.webwork=WARN
  2. Save changes to the file.
  3. Update the log4j.configuration system property on your remote agent to point to the log4j.properties file. To do this, add the following line to the <bamboo-agent-home>/conf/wrapper.conf file:
    where /full/path/to/log4j.properties is the absolute path of your log4j.properties file.
  4. Restart your remote agent.


Configuring the location of the atlassian-bamboo logs

To change the directory that the atlassian-bamboo logs are generated to, you must set the environment variable for the target location of the logs, as seen below:


Note that the new log file location applies to both the server and remote agents. If using an absolute path this may result in aggregated logs.

Last modified on May 23, 2019

Was this helpful?

Provide feedback about this article
Powered by Confluence and Scroll Viewport.