Enable SQL query logging in Bitbucket Server or Data Center

Still need help?

The Atlassian Community is here for you.

Ask the community

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

  1. Create a file <BITBUCKET_HOME>/logback.xml with the following text in it:

    <included>
    <logger name="org.hibernate.SQL" level="DEBUG"/>
    </included>
  2. Restart your Bitbucket Server instance.
  3. 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.

Enable debug log level
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:

Set log level to warn
curl -X PUT -u <ADMIN_USERNAME> <BASE_URL>/rest/api/latest/logs/logger/org.hibernate.SQL/warn

Last modified on May 31, 2021

Was this helpful?

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