{"id":16620023,"url":"https://github.com/mattbertolini/liquibase-slf4j","last_synced_at":"2025-04-05T06:03:59.203Z","repository":{"id":42627896,"uuid":"3935780","full_name":"mattbertolini/liquibase-slf4j","owner":"mattbertolini","description":"Liquibase SLF4J Logger.","archived":false,"fork":false,"pushed_at":"2025-02-04T02:48:04.000Z","size":163,"stargazers_count":50,"open_issues_count":0,"forks_count":6,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-03-29T05:01:52.260Z","etag":null,"topics":["java","jvm","liquibase","liquibase-logger","liquibase-slf4j","log4j","log4j2","logback","logger","logging","slf4j"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mattbertolini.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-04-05T03:21:52.000Z","updated_at":"2025-03-08T11:55:52.000Z","dependencies_parsed_at":"2022-07-21T12:32:31.615Z","dependency_job_id":"5a6347a2-b060-4614-a53e-0d0b1981767a","html_url":"https://github.com/mattbertolini/liquibase-slf4j","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattbertolini%2Fliquibase-slf4j","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattbertolini%2Fliquibase-slf4j/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattbertolini%2Fliquibase-slf4j/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattbertolini%2Fliquibase-slf4j/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mattbertolini","download_url":"https://codeload.github.com/mattbertolini/liquibase-slf4j/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294516,"owners_count":20915340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","jvm","liquibase","liquibase-logger","liquibase-slf4j","log4j","log4j2","logback","logger","logging","slf4j"],"created_at":"2024-10-12T02:43:18.240Z","updated_at":"2025-04-05T06:03:59.182Z","avatar_url":"https://github.com/mattbertolini.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# liquibase-slf4j\nVersion 5.1.0\u003cbr/\u003e\nWritten by Matt Bertolini\n\n[![Maven Central](https://img.shields.io/maven-central/v/com.mattbertolini/liquibase-slf4j.svg?label=Maven%20Central)](https://central.sonatype.com/artifact/com.mattbertolini/liquibase-slf4j)\n[![javadoc](https://javadoc.io/badge2/com.mattbertolini/liquibase-slf4j/javadoc.svg)](https://javadoc.io/doc/com.mattbertolini/liquibase-slf4j)\n[![Build Status](https://github.com/mattbertolini/liquibase-slf4j/actions/workflows/build.yml/badge.svg)](https://github.com/mattbertolini/liquibase-slf4j/actions/workflows/build.yml)\n\nAn implementation of the Liquibase logger that delegates directly to SLF4J.\n\nLiquibase has a logging mechanism that delegates to `java.util.logging`. It works great with SLF4J out of the box if \nyou use `jul-to-slf4j` library. Unfortunately, there is a known \n[performance impact](https://www.slf4j.org/legacy.html#jul-to-slf4j) when bridging `java.util.logging` to SLF4J. This \nlibrary helps to eliminate that performance impact by logging Liquibase directly to SLF4J. \n\n## How to Use\nGrab the library from Maven Central and place it in your classpath.\n\n**Maven:**\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.mattbertolini\u003c/groupId\u003e\n    \u003cartifactId\u003eliquibase-slf4j\u003c/artifactId\u003e\n    \u003cversion\u003e5.1.0\u003c/version\u003e\n    \u003cscope\u003eruntime\u003c/scope\u003e\n\u003c/dependency\u003e\n```\n\n**Gradle:**\n\nGroovy DSL:\n```groovy\nruntimeOnly 'com.mattbertolini:liquibase-slf4j:5.1.0'\n```\n\nKotlin DSL:\n```kotlin\nruntimeOnly(\"com.mattbertolini:liquibase-slf4j:5.1.0\")\n```\n\n**Ivy**\n\n```xml\n\u003cdependency org=\"com.mattbertolini\" name=\"liquibase-slf4j\" rev=\"5.1.0\"/\u003e\n```\n\n## License\nliquibase-slf4j is licensed under the [MIT License](https://opensource.org/licenses/MIT)\n\n## Notes\nThis logger has a priority number of 5. If there is more than one Liquibase logger on the classpath the one with the\nhighest priority will be used. The priority number can be changed by setting the system property \n`com.mattbertolini.liquibase.logging.slf4j.Slf4jLogService.priority` to an integer value of your choice.\n\nVersion 4 of Liquibase introduced a new plugin loading mechanism based on the Java \n[ServiceLoader](https://docs.oracle.com/javase/8/docs/api/java/util/ServiceLoader.html). Version 3.0.0 of this logger \nconforms to this new loader mechanism. If you are using Liquibase versions lower than 4, continue to use version 2.0.0 \nof this library.\n\nLiquibase version 3.4.0 had an issue loading third party loggers in some situations. This logger may not work on that \nversion. It is recommended to upgrade to Liquibase 3.4.1 which addresses this issue.\n\n### Log Level Mappings\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003cth\u003eLiquibase Level\u003c/th\u003e\n        \u003cth\u003eSLF4J Level\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cdel\u003eDebug\u003c/del\u003e (Deprecated)\u003c/td\u003e\n        \u003ctd\u003eDebug\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eFine\u003c/td\u003e\n        \u003ctd\u003eDebug\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eConfig\u003c/td\u003e\n        \u003ctd\u003eInfo\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eInfo\u003c/td\u003e\n        \u003ctd\u003eInfo\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eWarning\u003c/td\u003e\n        \u003ctd\u003eWarn\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eSevere\u003c/td\u003e\n        \u003ctd\u003eError\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n## Build and Test\n### Requirements\n* [Apache Ant](https://ant.apache.org/) - Version 1.10.6 or higher.\n* JDK 11 or higher (Compiled with 1.8 source and target).\n\n### Build\nTo build this project, clone the repo and run the ```ant``` command:\n```\ngit clone https://github.com/mattbertolini/liquibase-slf4j.git\ncd liquibase-slf4j\nant\n```\n\nThe distributable jar files will be located in the ```dist``` folder. The build reports (unit test, coverage, etc.) \nwill be located in the ```build/reports``` dir.\n\nTo list all available tasks:\n```\nant -p\n```\n\n## Bugs\nPlease report any bugs in the issue tracker above. Please be as detailed as possible in the report, so I can create\nunit tests to verify the problem is fixed.\n\n## Release Notes\n\n**5.2.0-SNAPSHOT - TBD**\n\n- Update to Ivy 2.5.3\n\n**5.1.0 - 2024-11-19**\n\n- Fix issue with JUL `Level.OFF` logging a message when no message should be logged ([#20](https://github.com/mattbertolini/liquibase-slf4j/issues/20)).\n- Update to Liquibase 4.30.0.\n- Update SLF4J to 2.0.16.\n- Update build to Ivy 2.5.2.\n\n**5.0.0 - 2023-03-20**\n\n- Add JPMS module-info file to support Java 9+ modules.\n- Build now requires Java 11 or higher. The source is still compiled to Java 8 bytecode.\n- Upgraded to SLF4J 2.x (2.0.7)\n- Upgrade to Liquibase 4.19.0\n- Remove deprecated logging filter support.\n- Switched from TravisCI to GitHub Actions.\n\n**4.1.0 - 2022-03-30**\n\n- Generated OSGi metadata making the jar a OSGi fragment where Liquibase is the host bundle. This was tested with \nLiquibase 4.9.1. This fixes issue [#12](https://github.com/mattbertolini/liquibase-slf4j/issues/12) \n([Pull Request](https://github.com/mattbertolini/liquibase-slf4j/pull/14))\n- Upgraded to SLF4J 1.7.36\n- Upgraded to Liquibase 4.9.1. The library should still work with Liquibase 4.1.0 and above when not using OSGi.\n\n**4.0.0 - 2020-09-30**\n\n- Upgraded Liquibase to version 4.1.0. This is a breaking change as the logging API introduced a new filter class and \nchanged constructors. ([Pull Request](https://github.com/mattbertolini/liquibase-slf4j/pull/10))\n\n**3.0.0 - 2020-07-23**\n\n- Upgraded to Liquibase version 4.0.0. This is a breaking change as the logging API changed significantly. Use version \n2.x if you are using Liquibase versions lower than 4.0.0.\n- Upgraded to SLF4J 1.7.30.\n- Added the ability to change the priority number of the logger by setting a Java property. To change the priority, set \n  the `com.mattbertolini.liquibase.logging.slf4j.Slf4jLogService.priority` property to an integer value.\n- Repackaged logger now that package name is no longer used for locating third-party loggers.\n- Java 8 is now the minimum supported JDK version.\n- Added an `Automatic-Module-Name` to support the Java 9+ module system. The module name is `com.mattbertolini.liquibase.logging.slf4j`.\n- Overhauled build files.\n\n**2.0.0 - 2015-12-16**\n\n- Switched the dependency scope of SLF4J and Liquibase to `provided`. This is because most users are already including \n  their own versions of these libraries and the versions are often much newer than what is defined in this library. By \n  marking them as `provided` it helps prevent version conflicts and extra exclusions in project files. For an example of \n  this, check out the POM file from [Dropwizard](https://github.com/dropwizard/dropwizard/blob/a0bdb73053872e73762af4f940b893f78a363c2e/dropwizard-bom/pom.xml#L145-L159)\n- The minimum required Liquibase version is now 3.2.0. This is done to take advantage of updates to `AbstractLogger`.\n\n**1.2.1 - 2013-10-12**\n\n- Only printing the changeLogName and changeSetName if they are provided. This gets rid of the annoying nulls printed\nin logs.\n\n**1.2.0 - 2013-09-30**\n\n- Upgrading to Liquibase version 3.0.5 to add new required methods.\n\n**1.1.0 - 2013-08-10**\n\n- Upgrade Liquibase version to 3.0.x.\n- Backward-compatible with previous version.\n\n**1.0.0 - 2012-04-04**\n\n- Initial release.\n- Supports Liquibase 2.0.x.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattbertolini%2Fliquibase-slf4j","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattbertolini%2Fliquibase-slf4j","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattbertolini%2Fliquibase-slf4j/lists"}