log-level
The --log-level parameter controls the amount of messages that are generated when running Liquibase commands. You can set --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 --log-level to a particular level, it will show all messages at that level and at less verbose levels. For example, setting the log level to SEVERE only shows SEVERE logs, but setting it to FINE shows FINE, INFO, WARNING, and SEVERE logs.
The --log-level default value is OFF. However, if you use the --log-file attribute to send your logs to a different file and don't specify the --log-level parameter, Liquibase will automatically change the --log-level default value from OFF to SEVERE.
Uses
The --log-level
parameter applies to all Liquibase commands. It can be used to get more information about the actions that Liquibase commands perform, as well as provide helpful information to resolve errors.
The value of SEVERE
provides messages regarding serious errors. You may find it useful to set the --log-level
to INFO
to see a more complete list of the operations that a command performs. Use the FINE
level to help resolve errors.
Using the --log-level parameter
Tip: For best results, specify all commands and parameters in the --kebab-case
format in the CLI. If your preference is camelCase, it also works in the CLI.
--log-level
is an optional parameter that is either set in the Liquibase properties file or specified on the command line. The --log-level
specified on the command line overrides the value set in the properties file.
Examples
liquibase --log-level=FINE update
liquibase --log-level=INFO update-testing-rollback
Maven
If you use Maven, you can control the log level of Liquibase Maven plugin with MAVEN_OPTS
by passing the following command: MAVEN_OPTS=-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
. You can also edit the log level in the ${maven.home}/conf/logging/simplelogger.properties
file.
Note: To disable the logging, run MAVEN_OPTS=-Dorg.slf4j.simpleLogger.defaultLogLevel=OFF
. For more information, see Configuring logging.
Syntax
You can set this parameter in the following ways:
Option | Syntax |
Liquibase properties file (defaults file) | liquibase.logLevel: <string> |
Global flow file argument | globalArgs: { log-level: "<string>" } |
Global CLI parameter | liquibase --log-level=<string> update --changelog-file=example-changelog.xml |
JVM system property (JAVA_OPTS environment variable) | Unix: JAVA_OPTS=-Dliquibase.logLevel=<string> Windows: JAVA_OPTS=-D"liquibase.logLevel"=<string> |
Liquibase environment variable |
|
For more information, see Working with Command Parameters.
Using the --sql-log-level property alongside --log-level
The SQL log level is set to FINE
by default. This behavior can be modified using --
sql-log-level
property.
For example, if you would like the log SQL statements to have the INFO
log level, then you would specify --sql-log-level=INFO
in your Liquibase command:
liquibase --sql-log-level=INFO --log-level=INFO update
Note: The --log-level
property is required for --sql-log-level
to operate successfully.
Other ways to specify --sql-log-level
Define the JAVA_OPTS environment variable prior to running your Liquibase command:
JAVA_OPTS="-Dliquibase.sql.logLevel=INFO -Dliquibase.logLevel=INFO"
Define environment variables:
LIQUIBASE_SQL_LOG_LEVEL=INFO and LIQUIBASE_LOG_LEVEL=INFO
Command line argument:
--sql-log-level=INFO --log-level=INFO
liquibase.properties
setting:liquibase.sql.logLevel=INFO and liquibase.logLevel=INFO