Looking for feedback on SQL logging

In 4.0, we moved the SQL logging back to FINE level from INFO https://github.com/liquibase/liquibase/issues/1501

  1. Do you agree or disagree that SQL should be logged at FINE level, and why?
  2. Do you see value in having a liquibase-level configuration flag to control the log level vs. configuring your logging, and why?
  3. If you rely on seeing the SQL ran by liquibase during an operation, what are your use cases for wanting that?

I’m especially interested in 3 because I think the overall pushback against the move back to FINE level is actually because there is needed functionality around tracking what was ran that we should improve in general.

Is it better SQL reporting you are looking for? Are you interested in both read and write SQL, or just “what sql changed the database” reporting? Is it more for troubleshooting failures if the happen? Is it just to avoid having to call both updateSql and update as part of your build job, or is there more to it than that?

Let us know here or in the issue.


Really want to hear from those who look for SQL execution output in their logs.

I’m not sure the level matters as much as the SQL be logged under a separate logger name. That way the user can decide which logger names they wish to log at which level they wish. Other tools like hibernate do something similar. If I were implementing I think I would keep SQL at INFO level but give the logger name something like org.liquibase.sql and that way everyone can turn it on/off using their own logging framework. The SQL would be the only thing output with that logger name so the rest of the info or debug logging statements would remain under their current logger names. Just my two cents.