# Could not find implementation of liquibase.logging.Logger

**URL:** <https://forum.liquibase.org/t/could-not-find-implementation-of-liquibase-logging-logger/1974>\
**Category:** General Discussion\
**Created:** [May 16, 2012, 3:57pm UTC](https://forum.liquibase.org/t/could-not-find-implementation-of-liquibase-logging-logger/1974 "2012-05-16T15:57:00Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![k\_k\_5\_5](https://avatars.discourse-cdn.com/v4/letter/k/a88e57/32.png) [@k\_k\_5\_5](https://forum.liquibase.org/u/k_k_5_5)\
**Post date:** [May 16, 2012, 3:57pm UTC](https://forum.liquibase.org/t/could-not-find-implementation-of-liquibase-logging-logger/1974/1 "2012-05-16T15:57:00Z")

</div>

Hello,  
  
i’m having problems running liquibase (2.0.5) inside websphere ce 3  
Liquibase is wrapt inside an @Singleton @Startup EJB and liquibase is called inside the @PostConstruct Method  
  
With the Thread.currentThread().getContextClassLoader() classloader, and a JdbcConnection optained by an injected @Resource DataSource datasource. [datasource.getConnection()]  
  
This works fine in JBoss6/7 and Weblogic 12c.  
  
But with websphere ce 3 i’m getting following stacktrace,

1. Caused by: de.company.core.exception.LiquibaseUpdateException[\_Pzc3MFsYEe6LG6biO6Txsw]: Unable to update/verifiy database  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at de.company.core.persistence.LiquibaseUpdateBean.update(LiquibaseUpdateBean.java:145)  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at de.company.cmsservice.logic.CmsServiceStartupBean.startup(CmsServiceStartupBean.java:36)  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; … 58 more  
 Caused by: liquibase.exception.ServiceNotFoundException: liquibase.exception.ServiceNotFoundException: liquibase.exception.ServiceNotFoundException: Could not find implementation of liquibase.logging.Logger  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at liquibase.logging.LogFactory.getLogger(LogFactory.java:19)  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at liquibase.logging.LogFactory.getLogger(LogFactory.java:30)  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at liquibase.database.DatabaseFactory.findCorrectDatabaseImplementation(DatabaseFactory.java:67)  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at de.company.core.persistence.LiquibaseUpdateBean.doUpdate(LiquibaseUpdateBean.java:100)  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at de.company.core.persistence.LiquibaseUpdateBean.update(LiquibaseUpdateBean.java:137)  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; … 59 more  
 Caused by: liquibase.exception.ServiceNotFoundException: liquibase.exception.ServiceNotFoundException: Could not find implementation of liquibase.logging.Logger  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at liquibase.servicelocator.ServiceLocator.newInstance(ServiceLocator.java:179)  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at liquibase.logging.LogFactory.getLogger(LogFactory.java:17)  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; … 63 more  
 Caused by: liquibase.exception.ServiceNotFoundException: Could not find implementation of liquibase.logging.Logger  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at liquibase.servicelocator.ServiceLocator.findClass(ServiceLocator.java:145)  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at liquibase.servicelocator.ServiceLocator.newInstance(ServiceLocator.java:177)  
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; … 64 more

  
  
so it might be related to [https://liquibase.jira.com/browse/CORE-789](https://liquibase.jira.com/browse/CORE-789)  
  
any hints where i could find the error in my setup would be a appreciated.  
  
regards,  
frank

---

<div class="post-metadata">

**Author:** ![un1381161045965r33id](https://avatars.discourse-cdn.com/v4/letter/u/74df32/32.png) [@un1381161045965r33id](https://forum.liquibase.org/u/un1381161045965r33id)\
**Post date:** [May 16, 2012, 3:57pm UTC](https://forum.liquibase.org/t/could-not-find-implementation-of-liquibase-logging-logger/1974/2 "2012-05-16T15:57:00Z")

</div>

I’m having exactly the same problem.  
  
I run liquibase from code with something like (Scala):

1. val database = DatabaseFactory.getInstance.findCorrectDatabaseImplementation(new JdbcConnection(dbConnection))
2. &nbsp;&nbsp;&nbsp; val classLoader = classOf[SchemaMigration].getClassLoader
3. &nbsp;&nbsp;&nbsp; val resourceAccessor = new ClassLoaderResourceAccessor(classLoader)
4. &nbsp;&nbsp;&nbsp; val liquibase = new Liquibase(diffFilePath, resourceAccessor, database)
5. …  
6. liquibase.update(null)  

It works fine in Jetty and Tomcat, but when I run it in a standalone app it fails with the same exception as above. I have Scala applications that use Liquibase and they have loggers available and working fine (logback, slf4j).

Not sure what to do.

---

<div class="post-metadata">

**Author:** ![un1381161045965r33id](https://avatars.discourse-cdn.com/v4/letter/u/74df32/32.png) [@un1381161045965r33id](https://forum.liquibase.org/u/un1381161045965r33id)\
**Post date:** [May 16, 2012, 3:57pm UTC](https://forum.liquibase.org/t/could-not-find-implementation-of-liquibase-logging-logger/1974/3 "2012-05-16T15:57:00Z")

</div>

Maybe there are better ways to run Liquibase from code? I didn’t find any higher level APIs.

---

<div class="post-metadata">

**Author:** ![un1381161045965r33id](https://avatars.discourse-cdn.com/v4/letter/u/74df32/32.png) [@un1381161045965r33id](https://forum.liquibase.org/u/un1381161045965r33id)\
**Post date:** [May 16, 2012, 3:57pm UTC](https://forum.liquibase.org/t/could-not-find-implementation-of-liquibase-logging-logger/1974/4 "2012-05-16T15:57:00Z")

</div>

I tried with 2.0.5 and 3.0.5 Liquibase versions

---

<div class="post-metadata">

**Author:** ![nvoxland](https://avatars.discourse-cdn.com/v4/letter/n/87869e/32.png) [@nvoxland](https://forum.liquibase.org/u/nvoxland)\
**Post date:** [May 16, 2012, 3:57pm UTC](https://forum.liquibase.org/t/could-not-find-implementation-of-liquibase-logging-logger/1974/5 "2012-05-16T15:57:00Z")

</div>

That should be the best way to call liquibase through the java APIs. Could you post the stacktrace you are seeing with 3.0.5?&nbsp;

Nathan

---

<div class="post-metadata">

**Author:** ![un1381161045965r33id](https://avatars.discourse-cdn.com/v4/letter/u/74df32/32.png) [@un1381161045965r33id](https://forum.liquibase.org/u/un1381161045965r33id)\
**Post date:** [May 16, 2012, 3:57pm UTC](https://forum.liquibase.org/t/could-not-find-implementation-of-liquibase-logging-logger/1974/6 "2012-05-16T15:57:00Z")

</div>

Hi Nathan, thanks for looking into it. Here is the stacktrace:  
  
liquibase.exception.ServiceNotFoundException: liquibase.exception.ServiceNotFoundException: liquibase.exception.ServiceNotFoundException: Could not find implementation of liquibase.logging.Logger  
&nbsp;&nbsp;&nbsp; at liquibase.logging.LogFactory.getLogger(LogFactory.java:19)  
&nbsp;&nbsp;&nbsp; at liquibase.logging.LogFactory.getLogger(LogFactory.java:30)  
&nbsp;&nbsp;&nbsp; at liquibase.database.DatabaseFactory.findCorrectDatabaseImplementation(DatabaseFactory.java:71)  
&nbsp;&nbsp;&nbsp; at com.mycompany.db.migration.SchemaMigration.createLiquibase(SchemaMigration.scala:27)  
&nbsp;&nbsp;&nbsp; at com.mycompany.db.migration.SchemaMigration.updateDb(SchemaMigration.scala:35)  
&nbsp;&nbsp;&nbsp; at com.mycompany.db.migration.SchemaMigration.run(SchemaMigration.scala:55)  
&nbsp;&nbsp;&nbsp; at com.mycompany.server.JobServerRunner.init(JobServerRunner.scala:49)  
&nbsp;&nbsp;&nbsp; at com.mycompany.server.JobServerRunner$.startup(JobServerRunner.scala:67)  
&nbsp;&nbsp;&nbsp; at com.mycompany.server.JobServerRunner$.main(JobServerRunner.scala:79)  
&nbsp;&nbsp;&nbsp; at com.mycompany.server.JobServerRunner.main(JobServerRunner.scala)  
&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)  
&nbsp;&nbsp;&nbsp; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
&nbsp;&nbsp;&nbsp; at java.lang.reflect.Method.invoke(Method.java:606)  
&nbsp;&nbsp;&nbsp; at com.simontuffs.onejar.Boot.run(Boot.java:340)  
&nbsp;&nbsp;&nbsp; at com.simontuffs.onejar.Boot.main(Boot.java:166)  
Caused by: liquibase.exception.ServiceNotFoundException: liquibase.exception.ServiceNotFoundException: Could not find implementation of liquibase.logging.Logger  
&nbsp;&nbsp;&nbsp; at liquibase.servicelocator.ServiceLocator.newInstance(ServiceLocator.java:188)  
&nbsp;&nbsp;&nbsp; at liquibase.logging.LogFactory.getLogger(LogFactory.java:17)  
&nbsp;&nbsp;&nbsp; … 15 more  
Caused by: liquibase.exception.ServiceNotFoundException: Could not find implementation of liquibase.logging.Logger  
&nbsp;&nbsp;&nbsp; at liquibase.servicelocator.ServiceLocator.findClass(ServiceLocator.java:154)  
&nbsp;&nbsp;&nbsp; at liquibase.servicelocator.ServiceLocator.newInstance(ServiceLocator.java:186)  
&nbsp;&nbsp;&nbsp; … 16 more  
  
So this is a regular jar file (packaged with one-jar). Please let me know if I can do any tests to help clarify this issue.  
  
Thanks

---

<div class="post-metadata">

**Author:** ![un1381161045965r33id](https://avatars.discourse-cdn.com/v4/letter/u/74df32/32.png) [@un1381161045965r33id](https://forum.liquibase.org/u/un1381161045965r33id)\
**Post date:** [May 16, 2012, 3:57pm UTC](https://forum.liquibase.org/t/could-not-find-implementation-of-liquibase-logging-logger/1974/7 "2012-05-16T15:57:00Z")

</div>

Nathan,  
  
if it helps, I can create a small project (Scala/jar) that reproduces this issue and put it on github for you to look at. Let me know if that could be useful to you.  
  
Thanks

---

<div class="post-metadata">

**Author:** ![nvoxland](https://avatars.discourse-cdn.com/v4/letter/n/87869e/32.png) [@nvoxland](https://forum.liquibase.org/u/nvoxland)\
**Post date:** [May 16, 2012, 3:57pm UTC](https://forum.liquibase.org/t/could-not-find-implementation-of-liquibase-logging-logger/1974/8 "2012-05-16T15:57:00Z")

</div>

It is still working fine for me. If you could create a jar that reproduces it that would be great. You can put it on github, attach it here or email it to me ([nathan.voxland@liquibase.org](mailto:nathan.voxland@liquibase.org))

Thanks,

Nathan

---

<div class="post-metadata">

**Author:** ![Guest](https://avatars.discourse-cdn.com/v4/letter/g/8dc957/32.png) [@Guest](https://forum.liquibase.org/u/Guest)\
**Post date:** [May 16, 2012, 3:57pm UTC](https://forum.liquibase.org/t/could-not-find-implementation-of-liquibase-logging-logger/1974/9 "2012-05-16T15:57:00Z")

</div>

Thanks, Nathan  
  
Will make a jar tomorrow
