Skip to content

Commit 4e90249

Browse files
author
Cecile Terpin
committed
add some tests
1 parent 3882881 commit 4e90249

File tree

1 file changed

+50
-10
lines changed

1 file changed

+50
-10
lines changed

dd-java-agent/agent-logging/src/test/groovy/datadog/trace/logging/simplelogger/SLCompatHelperTest.groovy

Lines changed: 50 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,8 @@ class SLCompatHelperTest extends Specification {
164164
}
165165

166166

167-
def "test log output with JSon configuration"() {
167+
168+
def "test log output with Json configuration key"() {
168169
when:
169170
def outputStream = new ByteArrayOutputStream()
170171
def printStream = new PrintStream(outputStream, true)
@@ -173,21 +174,60 @@ class SLCompatHelperTest extends Specification {
173174
def settings = new SLCompatSettings(props, props, warnS, showB, printStream, showS, showL, showT, dateTimeFormatter, showDT, jsonE, LogLevel.INFO, false)
174175
def helper = new SLCompatHelper("foo.bar", settings)
175176

176-
helper. log(level, null, "log", null)
177+
// helper.log is where we split between logs and JSON logs
178+
helper.log(level, null, "log", null)
177179

178180
then:
179181
outputStream.toString() == expected
180182

181183
where:
182184
level | warnS | showB | showS | showL | showT | dateTFS | showDT | jsonE | expected
183185
LogLevel.WARN | null | false | false | false | false | null | false | false | "WARN log\n"
184-
LogLevel.WARN | "DANGER" | false | false | false | false | null | false | true | "{\"level\":\"DANGER\",\"message\":\"log\"}\n"
185-
LogLevel.INFO | "DANGER" | false | false | false | false | null | false | true | "{\"level\":\"INFO\",\"message\":\"log\"}\n"
186-
LogLevel.WARN | null | true | false | false | false | null | false | true | "{\"level\":\"[WARN]\",\"message\":\"log\"}\n"
187-
LogLevel.INFO | null | false | true | false | false | null | false | true | "{\"level\":\"INFO\",\"loggerName\":\"bar\",\"message\":\"log\"}\n"
188-
LogLevel.INFO | null | true | true | true | false | null | false | true | "{\"level\":\"[INFO]\",\"loggerName\":\"bar\",\"message\":\"log\"}\n"
189-
LogLevel.INFO | null | true | false | true | false | null | false | true | "{\"level\":\"[INFO]\",\"loggerName\":\"foo.bar\",\"message\":\"log\"}\n"
190-
LogLevel.INFO | null | false | false | false | true | null | false | true | "{\"threadName\":\"Test worker\",\"level\":\"INFO\",\"message\":\"log\"}\n"
191-
LogLevel.INFO | null | false | false | false | true | "yyyy-MM-dd HH:mm:ss z" | false | true | "{\"threadName\":\"Test worker\",\"level\":\"INFO\",\"message\":\"log\"}\n"
186+
LogLevel.WARN | "DANGER" | false | false | false | false | null | false | true | "{\"origin\":\"dd.trace\",\"level\":\"DANGER\",\"message\":\"log\"}\n"
187+
}
188+
189+
def "test log output in Json"() {
190+
when:
191+
def outputStream = new ByteArrayOutputStream()
192+
def printStream = new PrintStream(outputStream, true)
193+
def props = new Properties()
194+
def dateTimeFormatter = SLCompatSettings.DTFormatter.create(dateTFS)
195+
def settings = new SLCompatSettings(props, props, warnS, showB, printStream, showS, showL, showT, dateTimeFormatter, showDT, jsonE, LogLevel.INFO, false)
196+
def helper = new SLCompatHelper("foo.bar", settings)
197+
198+
helper.logJson(level,null,0,4711,"thread","log", null)
199+
200+
then:
201+
outputStream.toString() == expected
202+
203+
where:
204+
level | warnS | showB | showS | showL | showT | dateTFS | showDT | jsonE | expected
205+
LogLevel.WARN | "DANGER" | false | false | false | false | null | false | true | "{\"origin\":\"dd.trace\",\"level\":\"DANGER\",\"message\":\"log\"}\n"
206+
LogLevel.INFO | "DANGER" | false | false | false | false | null | false | true | "{\"origin\":\"dd.trace\",\"level\":\"INFO\",\"message\":\"log\"}\n"
207+
LogLevel.WARN | null | true | false | false | false | null | false | true | "{\"origin\":\"dd.trace\",\"level\":\"[WARN]\",\"message\":\"log\"}\n"
208+
LogLevel.INFO | null | false | true | false | false | null | false | true | "{\"origin\":\"dd.trace\",\"level\":\"INFO\",\"logger.name\":\"bar\",\"message\":\"log\"}\n"
209+
LogLevel.INFO | null | true | true | true | false | null | false | true | "{\"origin\":\"dd.trace\",\"level\":\"[INFO]\",\"logger.name\":\"bar\",\"message\":\"log\"}\n"
210+
LogLevel.INFO | null | true | false | true | false | null | false | true | "{\"origin\":\"dd.trace\",\"level\":\"[INFO]\",\"logger.name\":\"foo.bar\",\"message\":\"log\"}\n"
211+
LogLevel.INFO | null | false | false | false | true | null | false | true | "{\"origin\":\"dd.trace\",\"logger.thread_name\":\"thread\",\"level\":\"INFO\",\"message\":\"log\"}\n"
212+
LogLevel.INFO | null | false | false | false | true | "yyyy-MM-dd HH:mm:ss z" | false | true | "{\"origin\":\"dd.trace\",\"logger.thread_name\":\"thread\",\"level\":\"INFO\",\"message\":\"log\"}\n"
213+
LogLevel.INFO | null | false | false | false | true | "yyyy-MM-dd HH:mm:ss z" | true | true | "{\"origin\":\"dd.trace\",\"date\":\"${new SimpleDateFormat(dateTFS).format(new Date(4711))}\",\"logger.thread_name\":\"thread\",\"level\":\"INFO\",\"message\":\"log\"}\n"
214+
}
215+
216+
217+
def "test logging with an embedded exception in Json"() {
218+
setup:
219+
def outputStream = new ByteArrayOutputStream()
220+
def printStream = new PrintStream(outputStream, true)
221+
def props = new Properties()
222+
def dateTimeFormatter = SLCompatSettings.DTFormatter.create("yyyy-MM-dd HH:mm:ss z")
223+
def settings = new SLCompatSettings(props, props, null, false, printStream, false,true,false, dateTimeFormatter, false, true, LogLevel.INFO, true)
224+
def helper = new SLCompatHelper("foo", settings)
225+
try {
226+
throw new IOException("wrong")
227+
} catch(Exception exception) {
228+
helper.log(LogLevel.INFO, null, "log", exception)
229+
}
230+
expect:
231+
outputStream.toString() ==~ /^\{"origin":"dd.trace","level":"INFO","logger.name":"foo","message":"log","exception":\{"message":"wrong","stackTrace":\[.*\]\}\}\n$/
192232
}
193233
}

0 commit comments

Comments
 (0)