Enable SQL query logging in Bitbucket Server or Data Center
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the server and data center platforms.
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the server and data center platforms.
Enabling SQL query logging on startup
Create a file
<BITBUCKET_HOME>/logback.xml
with the following text in it:<included> <logger name="org.hibernate.SQL" level="DEBUG"/> </included>
- Restart your Bitbucket Server instance.
Look for
org.hibernate.SQL
logging lines in<BITBUCKET_HOME>/log/atlassian-bitbucket.log
such as:2014-12-04 19:39:39,749 DEBUG [clusterScheduler_Worker-8] org.hibernate.SQL delete sta_activity_0 from sta_activity sta_activity_0 inner join HT_sta_pr_rescope_activity HT_sta_pr_rescope_activity_0 on sta_activity_0.id=HT_sta_pr_rescope_activity_0.activity_id
Enabling parameter logging
This may log sensitive information (user names, group names, project names, etc).
SQL queries are parameterized with ?
. If you need to see the parameter data, you can enable parameter logging by changing the logback.xml file as below.
<included>
<logger name="org.hibernate.SQL" level="DEBUG"/>
<logger name="org.hibernate.type" level="TRACE"/>
</included>
Enabling SQL query logging at runtime
This method enables the debug log level for SQL queries at runtime, without the need of restarting Bitbucket Server. More details are provided on the Enable debug logging page.
curl -X PUT -u <ADMIN_USERNAME> <BASE_URL>/rest/api/latest/logs/logger/org.hibernate.SQL/debug
Use the following to disable the debug log level by setting it back to warn:
curl -X PUT -u <ADMIN_USERNAME> <BASE_URL>/rest/api/latest/logs/logger/org.hibernate.SQL/warn