[Bamboo Knowledge Base]
Bamboo generates two distinct 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.
On this page:
atlassian-bamboo logs for the Bamboo server — 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 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.
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:
DEBUG > INFO > WARN > ERROR > FATAL
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:
Change the level of logging on your Bamboo server
Screenshot: Bamboo log settings
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
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: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.rootLogger
to 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
log4j.properties
as desired, e.g. log4j.category.webwork=WARN
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:wrapper.java.additional.3=-Dlog4j.configuration=/full/path/to/log4j.propertieswhere /full/path/to/log4j.properties is the absolute path of your log4j.properties file.
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:
log4j.appender.fileLog.file=/my/path/to/atlassian-bamboo.log
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.