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 (highest level): Show serious failures that may prevent program execution.
  • WARNING: Show potential problems for program execution.
  • INFO: Show informational messages.
  • FINE (lowest level; 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 higher levels of importance. 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
liquibase.logLevel: <string>
Global flow file argument (example)
stages:
  Default:
    actions:
      - type: liquibase
        command: update
        globalArgs: { log-level: "<string>" }
Global CLI parameter
liquibase
 --log-level=<string> update
 --changelog-file=example-changelog.xml

JVM system property (JAVA_OPTS Environment Variable)

JAVA_OPTS=-Dliquibase.logLevel=<string>
Liquibase Environment Variables
LIQUIBASE_LOG_LEVEL=<string>

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

  1. Define the JAVA_OPTS Environment Variable prior to running your Liquibase command:
  2. JAVA_OPTS="-Dliquibase.sql.logLevel=INFO -Dliquibase.logLevel=INFO"
  3. Define environment variables:
  4. LIQUIBASE_SQL_LOG_LEVEL=INFO and LIQUIBASE_LOG_LEVEL=INFO
  5. Command line argument:
  6. --sql-log-level=INFO --log-level=INFO
  7. liquibase.properties setting:
  8. liquibase.sql.logLevel=INFO and liquibase.logLevel=INFO

Related links