There are hooks, but they are not trivial to implement. Datical has been doing just this sort of work on top of Liquibase. It may be more than you need though.
Logging is not the right place to put this. If you want to do it yourself, start by looking at the ChangeExecListener interface. You will need to run Liquibase programatically and then you can call setChangeExecListener() on the Liquibase object and then get calls back into your code whenever a changeset is run.
It would also be possible to extend the Liquibase integrations so that you could supply a listener via command line or ant or maven, etc.
Principal Software Engineer
Datical, Inc. http://www.datical.com/