Skip to content

Commit b909cab

Browse files
committed
added a test for issue #11
uncomment line 48 to make the test fail
1 parent 53fd733 commit b909cab

File tree

3 files changed

+66
-3
lines changed

3 files changed

+66
-3
lines changed

build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,10 @@ repositories {
3232

3333
dependencies {
3434
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
35-
// https://mvnrepository.com/artifact/org.slf4j/slf4j-api
36-
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.21'
37-
testCompile group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.21'
35+
compile "org.slf4j:slf4j-api:1.7.21"
36+
testCompile "org.slf4j:slf4j-log4j12:1.7.21"
37+
testCompile "log4j:log4j:1.2.17"
38+
testCompile "org.mockito:mockito-all:1.10.19"
3839
testCompile 'junit:junit:4.12'
3940
}
4041

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package mu
2+
3+
import org.junit.After
4+
import org.junit.Before
5+
import org.junit.Test
6+
7+
import org.mockito.Mockito.mock
8+
import org.mockito.Mockito.verify
9+
import org.apache.log4j.*
10+
import org.apache.log4j.spi.LoggingEvent
11+
import org.junit.Assert
12+
import org.mockito.Matchers.*
13+
import org.slf4j.LoggerFactory
14+
import java.io.StringWriter
15+
import java.util.*
16+
17+
18+
class LoggingWithLocationTest {
19+
private var appenders: Vector<Appender>? = null
20+
private var writer = StringWriter()
21+
22+
@Before
23+
fun setupAppender() {
24+
appenders = Vector<Appender>(2)
25+
// 1. just a printout appender:
26+
appenders!!.add(ConsoleAppender(PatternLayout("%p %C{1}.%M(%L) - %m%n")))
27+
// 2. the appender to test against:
28+
writer = StringWriter()
29+
appenders!!.add(WriterAppender(PatternLayout("%p %C{1}.%M(%L) - %m%n"), writer))
30+
Logger.getRootLogger().addAppender(appenders!![0])
31+
Logger.getRootLogger().addAppender(appenders!![1])
32+
}
33+
34+
@After
35+
fun removeAppender() {
36+
Logger.getRootLogger().removeAppender(appenders!![0])
37+
Logger.getRootLogger().removeAppender(appenders!![1])
38+
}
39+
40+
@Test
41+
fun testMethod() {
42+
ClassWithLoggingForLocationTesting().log()
43+
Assert.assertEquals("INFO ClassWithLoggingForLocationTesting.log(51) - test", writer.toString().trim())
44+
}
45+
}
46+
47+
class ClassWithLoggingForLocationTesting {
48+
// companion object: KLogging()
49+
val logger: org.slf4j.Logger = LoggerFactory.getLogger(this.javaClass)
50+
fun log() {
51+
logger.info("test")
52+
}
53+
}

src/test/resources/log4j.properties

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Set root logger level to DEBUG and its only appender to A1.
2+
log4j.rootLogger=DEBUG, A1
3+
4+
# A1 is set to be a ConsoleAppender.
5+
log4j.appender.A1=org.apache.log4j.ConsoleAppender
6+
7+
# A1 uses PatternLayout.
8+
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
9+
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

0 commit comments

Comments
 (0)