@@ -386,6 +386,83 @@ class SentryAppenderTest {
386386 )
387387 }
388388
389+ @Test
390+ fun `sends formatted log message if no encoder` () {
391+ fixture = Fixture (minimumLevel = Level .TRACE , enableLogs = true )
392+ fixture.logger.trace(" Testing {} level" , " TRACE" )
393+
394+ Sentry .flush(1000 )
395+
396+ verify(fixture.transport).send(
397+ checkLogs { logs ->
398+ val log = logs.items.first()
399+ assertEquals(" Testing TRACE level" , log.body)
400+ val attributes = log.attributes!!
401+ assertEquals(" Testing {} level" , attributes[" sentry.message.template" ]?.value)
402+ assertEquals(" TRACE" , attributes[" sentry.message.parameter.0" ]?.value)
403+ }
404+ )
405+ }
406+
407+ @Test
408+ fun `does not send formatted log message if encoder is available but sendDefaultPii is off` () {
409+ var encoder = PatternLayoutEncoder ()
410+ encoder.pattern = " encoderadded %msg"
411+ fixture = Fixture (minimumLevel = Level .TRACE , enableLogs = true , encoder = encoder)
412+ fixture.logger.trace(" Testing {} level" , " TRACE" )
413+
414+ Sentry .flush(1000 )
415+
416+ verify(fixture.transport).send(
417+ checkLogs { logs ->
418+ val log = logs.items.first()
419+ assertEquals(" encoderadded Testing TRACE level" , log.body)
420+ val attributes = log.attributes!!
421+ assertNull(attributes[" sentry.message.template" ])
422+ assertNull(attributes[" sentry.message.parameter.0" ])
423+ }
424+ )
425+ }
426+
427+ @Test
428+ fun `sends formatted log message if encoder is available and sendDefaultPii is on but encoder throws` () {
429+ var encoder = ThrowingEncoder ()
430+ fixture = Fixture (minimumLevel = Level .TRACE , enableLogs = true , sendDefaultPii = true , encoder = encoder)
431+ fixture.logger.trace(" Testing {} level" , " TRACE" )
432+
433+ Sentry .flush(1000 )
434+
435+ verify(fixture.transport).send(
436+ checkLogs { logs ->
437+ val log = logs.items.first()
438+ assertEquals(" Testing TRACE level" , log.body)
439+ val attributes = log.attributes!!
440+ assertEquals(" Testing {} level" , attributes[" sentry.message.template" ]?.value)
441+ assertEquals(" TRACE" , attributes[" sentry.message.parameter.0" ]?.value)
442+ }
443+ )
444+ }
445+
446+ @Test
447+ fun `sends formatted log message if encoder is available and sendDefaultPii is on` () {
448+ var encoder = PatternLayoutEncoder ()
449+ encoder.pattern = " encoderadded %msg"
450+ fixture = Fixture (minimumLevel = Level .TRACE , enableLogs = true , sendDefaultPii = true , encoder = encoder)
451+ fixture.logger.trace(" Testing {} level" , " TRACE" )
452+
453+ Sentry .flush(1000 )
454+
455+ verify(fixture.transport).send(
456+ checkLogs { logs ->
457+ val log = logs.items.first()
458+ assertEquals(" encoderadded Testing TRACE level" , log.body)
459+ val attributes = log.attributes!!
460+ assertEquals(" Testing {} level" , attributes[" sentry.message.template" ]?.value)
461+ assertEquals(" TRACE" , attributes[" sentry.message.parameter.0" ]?.value)
462+ }
463+ )
464+ }
465+
389466 @Test
390467 fun `attaches thread information` () {
391468 fixture = Fixture (minimumEventLevel = Level .WARN )
0 commit comments