@@ -2,7 +2,19 @@ package io.github.oshai.kotlinlogging
2
2
3
3
import kotlin.test.*
4
4
5
- private val logger = KotlinLogging .logger(" SimpleJsTest" )
5
+ val topLevelNamedLogger = KotlinLogging .logger(" topLevelNamedLogger" )
6
+ val topLevelLambdaLogger = KotlinLogging .logger {}
7
+
8
+ class MyClass {
9
+ val classNamedLogger = KotlinLogging .logger(" MyClass" )
10
+ val classLambdaLogger = KotlinLogging .logger {}
11
+
12
+ // check with non default "Companion" name also
13
+ companion object MyCompanion {
14
+ val companionNamedLogger = KotlinLogging .logger(" MyClassCompanion" )
15
+ val companionLambdaLogger = KotlinLogging .logger {}
16
+ }
17
+ }
6
18
7
19
@Suppress(" DEPRECATION" )
8
20
class SimpleJsTest {
@@ -20,41 +32,165 @@ class SimpleJsTest {
20
32
KotlinLoggingConfiguration .LOG_LEVEL = Level .INFO
21
33
}
22
34
35
+ // TODO: use parameterized test?
36
+
37
+ // TopLevelNamedLogger
38
+ @Test
39
+ fun checkTopLevelNamedLoggerName () {
40
+ checkLoggerName(topLevelNamedLogger, " topLevelNamedLogger" )
41
+ }
42
+
43
+ @Test
44
+ fun checkTopLevelNamedLoggerInfoMessage () {
45
+ checkLoggerInfoMessage(topLevelNamedLogger)
46
+ }
47
+
48
+ @Test
49
+ fun checkTopLevelNamedLoggerErrorMessage () {
50
+ checkLoggerErrorMessage(topLevelNamedLogger)
51
+ }
52
+
53
+ @Test
54
+ fun checkTopLevelNamedLoggerOffLevel () {
55
+ checkLoggerOffLevel(topLevelNamedLogger)
56
+ }
57
+
58
+ // TopLevelLambdaLogger
59
+ @Test
60
+ fun checkTopLevelLambdaLoggerName () {
61
+ checkLoggerName(topLevelLambdaLogger, " SimpleJsTest" )
62
+ }
63
+
64
+ @Test
65
+ fun checkTopLevelLambdaLoggerInfoMessage () {
66
+ checkLoggerInfoMessage(topLevelLambdaLogger)
67
+ }
68
+
69
+ @Test
70
+ fun checkTopLevelLambdaLoggerErrorMessage () {
71
+ checkLoggerErrorMessage(topLevelLambdaLogger)
72
+ }
73
+
74
+ @Test
75
+ fun checkTopLevelLambdaLoggerOffLevel () {
76
+ checkLoggerOffLevel(topLevelLambdaLogger)
77
+ }
78
+
79
+ // ClassNamedLogger
80
+ @Test
81
+ fun checkClassNamedLoggerName () {
82
+ checkLoggerName(MyClass ().classNamedLogger, " MyClass" )
83
+ }
84
+
23
85
@Test
24
- fun simpleJsTest () {
25
- assertEquals(" SimpleJsTest" , logger.name)
86
+ fun checkClassNamedLoggerInfoMessage () {
87
+ checkLoggerInfoMessage(MyClass ().classNamedLogger)
88
+ }
89
+
90
+ @Test
91
+ fun checkClassNamedLoggerErrorMessage () {
92
+ checkLoggerErrorMessage(MyClass ().classNamedLogger)
93
+ }
94
+
95
+ @Test
96
+ fun checkClassNamedLoggerOffLevel () {
97
+ checkLoggerOffLevel(MyClass ().classNamedLogger)
98
+ }
99
+
100
+ // ClassLambdaLogger
101
+ @Test
102
+ fun checkClassLambdaLoggerName () {
103
+ checkLoggerName(MyClass ().classLambdaLogger, " MyClass" )
104
+ }
105
+
106
+ @Test
107
+ fun checkClassLambdaLoggerInfoMessage () {
108
+ checkLoggerInfoMessage(MyClass ().classLambdaLogger)
109
+ }
110
+
111
+ @Test
112
+ fun checkClassLambdaLoggerErrorMessage () {
113
+ checkLoggerErrorMessage(MyClass ().classLambdaLogger)
114
+ }
115
+
116
+ @Test
117
+ fun checkClassLambdaLoggerOffLevel () {
118
+ checkLoggerOffLevel(MyClass ().classLambdaLogger)
119
+ }
120
+
121
+ // CompanionNamedLogger
122
+ @Test
123
+ fun checkCompanionNamedLoggerName () {
124
+ checkLoggerName(MyClass .MyCompanion .companionNamedLogger, " MyClassCompanion" )
125
+ }
126
+
127
+ @Test
128
+ fun checkCompanionNamedLoggerInfoMessage () {
129
+ checkLoggerInfoMessage(MyClass .MyCompanion .companionNamedLogger)
130
+ }
131
+
132
+ @Test
133
+ fun checkCompanionNamedLoggerErrorMessage () {
134
+ checkLoggerErrorMessage(MyClass .MyCompanion .companionNamedLogger)
135
+ }
136
+
137
+ @Test
138
+ fun checkCompanionNamedLoggerOffLevel () {
139
+ checkLoggerOffLevel(MyClass .MyCompanion .companionNamedLogger)
140
+ }
141
+
142
+ // CompanionLambdaLogger
143
+ @Test
144
+ fun checkCompanionLambdaLoggerName () {
145
+ checkLoggerName(MyClass .MyCompanion .companionLambdaLogger, " MyClass" )
146
+ }
147
+
148
+ @Test
149
+ fun checkCompanionLambdaLoggerInfoMessage () {
150
+ checkLoggerInfoMessage(MyClass .MyCompanion .companionLambdaLogger)
151
+ }
152
+
153
+ @Test
154
+ fun checkCompanionLambdaLoggerErrorMessage () {
155
+ checkLoggerErrorMessage(MyClass .MyCompanion .companionLambdaLogger)
156
+ }
157
+
158
+ @Test
159
+ fun checkCompanionLambdaLoggerOffLevel () {
160
+ checkLoggerOffLevel(MyClass .MyCompanion .companionLambdaLogger)
161
+ }
162
+
163
+ // use cases
164
+ private fun checkLoggerName (logger : KLogger , expected : String ) {
165
+ assertEquals(expected, logger.name)
166
+ }
167
+
168
+ private fun checkLoggerInfoMessage (logger : KLogger ) {
26
169
logger.info { " info msg" }
27
- assertEquals(" INFO: [SimpleJsTest ] info msg" , appender.lastMessage)
170
+ assertEquals(" INFO: [${logger.name} ] info msg" , appender.lastMessage)
28
171
assertEquals(" info" , appender.lastLevel)
29
172
}
30
173
31
- @Test
32
- fun logThrowableTest () {
174
+ private fun checkLoggerErrorMessage (logger : KLogger ) {
33
175
val errorLog = " Something Bad Happened"
34
176
val outerMessage = " Outer Message"
35
177
val innerMessage = " Inner Message"
36
178
val throwable = Throwable (message = outerMessage, cause = Throwable (message = innerMessage))
37
179
logger.error(throwable) { errorLog }
38
180
assertEquals(
39
- " ERROR: [SimpleJsTest ] $errorLog , Caused by: '$outerMessage ', Caused by: '$innerMessage '" ,
181
+ " ERROR: [${logger.name} ] $errorLog , Caused by: '$outerMessage ', Caused by: '$innerMessage '" ,
40
182
appender.lastMessage,
41
183
)
42
184
}
43
185
44
- @Test
45
- fun offLevelJsTest () {
186
+ private fun checkLoggerOffLevel (logger : KLogger ) {
46
187
KotlinLoggingConfiguration .LOG_LEVEL = Level .OFF
47
188
assertTrue(logger.isLoggingOff())
48
189
logger.error { " error msg" }
49
190
assertEquals(" NA" , appender.lastMessage)
50
191
assertEquals(" NA" , appender.lastLevel)
51
192
}
52
193
53
- @Test
54
- fun loggerNameTest () {
55
- assertEquals(" MyClass" , MyClass ().logger2.name)
56
- }
57
-
58
194
private fun createAppender (): SimpleAppender = SimpleAppender ()
59
195
60
196
class SimpleAppender : Appender {
@@ -67,7 +203,3 @@ class SimpleJsTest {
67
203
}
68
204
}
69
205
}
70
-
71
- class MyClass {
72
- val logger2 by KotlinLogging .logger()
73
- }
0 commit comments