- Reference
- Version · 6.0
- Change Automation Reference
sql-log-level
Last updated: September 29, 2026
The --sql-log-level parameter controls the amount of messages that are generated from SQL statements in Liquibase. You can set --sql-log-level to the following values:
- SEVERE (least verbose): Show serious failures that may prevent program execution. - WARNING: Show potential problems for program execution. - INFO: Show informational messages. - FINE (most verbose; formerly DEBUG): Show tracing information of program execution and minor failures. - OFF: Hide all log messages.
If you set --sql-log-level to a particular level, it will show all messages at that level and less verbose levels. For example, setting the SQL log level to SEVERE only shows SEVERE SQL logs, but setting it to FINE shows FINE, INFO, WARNING, and SEVERE SQL logs. The --sql-log-level default value is FINE.
Note: The --log-level property is required for --sql-log-level to operate successfully.
Uses
In Liquibase 4.6.2+, the --sql-log-level parameter lets you set the log level for SQL output that Liquibase generates. This allows you to have different log levels for Liquibase output and the output of the SQL Liquibase runs.
If you don't specify a value for --sql-log-level, all SQL output is generated according to the --log-level parameter.
Syntax
You can set this parameter in the following ways:
Option | Syntax |
Liquibase properties file (defaults file) |
|
Global flow file argument |
|
Global CLI parameter |
|
JVM system property (JAVA_OPTS environment variable) | Unix:
Windows:
|
Liquibase environment variable |
|
For more information, see Working with command parameters
Output
The following examples show the Liquibase logs of when you omit the name of the table in your CREATE_TABLE statement. The examples assume that --log-level=SEVERE:
Output
[2024-05-30 14:36:44] SEVERE [liquibase.changelog] ChangeSet changelog.xml::3::nvoxland encountered an exception.Row counts
Setting --sql-log-level to FINE prints the full text of every SQL statement Liquibase runs. SQL statements may contain sensitive values. To print how many rows each INSERT, UPDATE, or DELETE statement changed without printing the SQL itself, use --show-rows-affected. In some cases, this can prevent sensitive values from being printed to the console. --show-rows-affected works independently of --sql-log-level, so you can set either one without affecting the other.
Embedded and library use
As of Liquibase Secure 6.0, Liquibase configures only a logging context that Liquibase created and owns. When you embed Liquibase in your own application, setting --sql-log-level no longer changes your application's own log levels or handlers.