Results 1 to 2 of 2

Thread: Using SLF4J with Spring 3.0.5, Hibernate 3.5.1-Final

  1. #1
    Join Date
    Oct 2009
    Posts
    6

    Default Using SLF4J with Spring 3.0.5, Hibernate 3.5.1-Final

    Hi,

    I have a maven-based project which uses Hibernate with Spring (versions in the title). I used to use Log4j, but since we switch to Hibernate, the logging is outputting all kinds of stuff we don't want...

    The SLF4J site instructed to replace log4j jar with the log4j-over-slf4j jar, which I did.

    Now, when I run my tests, I get the following exception. Does anyone know how to solve this problem?
    Code:
    -------------------------------------------------------------------------------
    Test set: dlm.cwa.persistence.dao.InputFileDaoImplTest
    -------------------------------------------------------------------------------
    Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.016 sec <<< FAILURE!
    initializationError(dlm.cwa.persistence.dao.InputFileDaoImplTest)  Time elapsed: 0 sec  <<< ERROR!
    java.lang.UnsupportedOperationException: The logger [org.slf4j.impl.SimpleLogger(org.springframework.test.context.TestContextManager)] does not seem to be location aware.
    	at org.apache.log4j.Category.log(Category.java:278)
    	at org.apache.commons.logging.impl.Log4JLogger.info(Log4JLogger.java:199)
    	at org.springframework.test.context.TestContextManager.retrieveTestExecutionListeners(TestContextManager.java:185)
    	at org.springframework.test.context.TestContextManager.<init>(TestContextManager.java:118)
    	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTestContextManager(SpringJUnit4ClassRunner.java:120)
    	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:108)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    	at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31)
    	at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24)
    	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
    	at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
    	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
    	at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
    	at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:51)
    	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115)
    	at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:102)
    	at org.apache.maven.surefire.Surefire.run(Surefire.java:180)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:597)
    	at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350)
    	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)

  2. #2
    Join Date
    Oct 2009
    Posts
    6

    Default

    Never mind... I had to include jcl-over-slf4j jar as well as it seems Spring uses java commons logging.

    Here is the maven dependency configuration snippet in case it's helpful for someone else:

    Code:
    <dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>slf4j-simple</artifactId>
    			<version>1.5.8</version>
    		</dependency>
    		<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>log4j-over-slf4j</artifactId>
    			<version>1.5.8</version>
    		</dependency>
    		<dependency>
    			<groupId>org.slf4j</groupId>
    			<artifactId>jcl-over-slf4j</artifactId>
    			<version>1.5.8</version>
    		</dependency>

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •