Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
3ec789b
Add new modules for Spring 7 and Spring Boot 4
adinauer Aug 4, 2025
ddeada2
Fix Spring 7 and Spring Boot 4 modules (#4602)
adinauer Aug 8, 2025
1b6c6e0
Merge branch 'main' into 08-04-add_new_modules_for_spring_7_and_sprin…
adinauer Aug 8, 2025
59cb440
Attempt to fix kotlin 2.2 issue (#4603)
adinauer Aug 11, 2025
a18e719
Merge branch 'main' into 08-04-add_new_modules_for_spring_7_and_sprin…
adinauer Aug 11, 2025
975f6c7
changelog
adinauer Aug 11, 2025
47b3629
Merge branch 'main' into 08-04-add_new_modules_for_spring_7_and_sprin…
adinauer Aug 12, 2025
36e68d4
Merge branch 'main' into 08-04-add_new_modules_for_spring_7_and_sprin…
adinauer Aug 13, 2025
1ae3d92
fix ci
adinauer Aug 13, 2025
fe36a4e
add ignored span origins for Spring 7 and Spring Boot 4
adinauer Aug 14, 2025
d3164a3
move changelog
adinauer Aug 14, 2025
8662adb
Speed up tests
adinauer Aug 14, 2025
9f086cd
Merge branch 'main' into feat/speed-up-tests
adinauer Aug 26, 2025
618dfa2
Merge branch 'main' into feat/speed-up-tests
adinauer Aug 27, 2025
3b965a8
Merge branch 'main' into feat/speed-up-tests
adinauer Aug 27, 2025
ec23239
Merge branch 'main' into feat/speed-up-tests
markushi Oct 15, 2025
86e19e6
docs(changelog): Add entry for external shutdown/session-flush timeou…
adinauer Mar 4, 2026
eddda96
ref: Use tracingEnabledRunner in boot4 and jakarta test classes
adinauer Mar 4, 2026
5a9dbd4
ref: Add Millis suffix to ExternalOptions timeout fields
adinauer Mar 4, 2026
72c2c53
ref: Add Millis suffix to ExternalOptions timeout fields
adinauer Mar 4, 2026
294b1ed
docs(changelog): Restructure timeout options changelog entry
adinauer Mar 4, 2026
723becd
fix(test): Use baseContextRunner for transport factory tests
adinauer Mar 4, 2026
b5881fb
Merge branch 'main' into feat/speed-up-tests
adinauer Mar 4, 2026
bbc7378
Format code
getsentry-bot Mar 4, 2026
fe57531
ci: retrigger CI
adinauer Mar 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

### Features

- Allow configuring shutdown and session flush timeouts externally ([#4641](https://github.com/getsentry/sentry-java/pull/4641))
- `sentry.properties`: `shutdown-timeout-millis`, `session-flush-timeout-millis`
- Environment variables: `SENTRY_SHUTDOWN_TIMEOUT_MILLIS`, `SENTRY_SESSION_FLUSH_TIMEOUT_MILLIS`
- Spring Boot `application.properties`: `sentry.shutdownTimeoutMillis`, `sentry.sessionFlushTimeoutMillis`
- Add scope-level attributes API ([#5118](https://github.com/getsentry/sentry-java/pull/5118)) via ([#5148](https://github.com/getsentry/sentry-java/pull/5148))
- Automatically include scope attributes in logs and metrics ([#5120](https://github.com/getsentry/sentry-java/pull/5120))
- New APIs are `Sentry.setAttribute`, `Sentry.setAttributes`, `Sentry.removeAttribute`
Expand Down
14 changes: 8 additions & 6 deletions sentry-jul/src/test/kotlin/io/sentry/jul/SentryHandlerTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import io.sentry.SentryLogLevel
import io.sentry.SentryOptions
import io.sentry.checkEvent
import io.sentry.checkLogs
import io.sentry.test.applyTestOptions
import io.sentry.test.initForTest
import io.sentry.transport.ITransport
import java.time.Instant
Expand Down Expand Up @@ -44,6 +45,7 @@ class SentryHandlerTest {
val options = SentryOptions()
options.dsn = "http://key@localhost/proj"
options.setTransportFactory { _, _ -> transport }
applyTestOptions(options)
contextTags?.forEach { options.addContextTag(it) }
logger = Logger.getLogger("jul.SentryHandlerTest")
handler = SentryHandler(options, configureWithLogManager, true)
Expand Down Expand Up @@ -415,7 +417,7 @@ class SentryHandlerTest {
fixture = Fixture(minimumLevel = Level.FINEST)
fixture.logger.finest("testing trace level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(
Expand All @@ -431,7 +433,7 @@ class SentryHandlerTest {
fixture = Fixture(minimumLevel = Level.FINE)
fixture.logger.fine("testing trace level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { event -> assertEquals(SentryLogLevel.DEBUG, event.items.first().level) })
Expand All @@ -442,7 +444,7 @@ class SentryHandlerTest {
fixture = Fixture(minimumLevel = Level.CONFIG)
fixture.logger.config("testing debug level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { event -> assertEquals(SentryLogLevel.DEBUG, event.items.first().level) })
Expand All @@ -453,7 +455,7 @@ class SentryHandlerTest {
fixture = Fixture(minimumLevel = Level.INFO)
fixture.logger.info("testing info level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { event -> assertEquals(SentryLogLevel.INFO, event.items.first().level) })
Expand All @@ -464,7 +466,7 @@ class SentryHandlerTest {
fixture = Fixture(minimumLevel = Level.WARNING)
fixture.logger.warning("testing warn level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { event -> assertEquals(SentryLogLevel.WARN, event.items.first().level) })
Expand All @@ -475,7 +477,7 @@ class SentryHandlerTest {
fixture = Fixture(minimumLevel = Level.SEVERE)
fixture.logger.severe("testing error level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { event -> assertEquals(SentryLogLevel.ERROR, event.items.first().level) })
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ class SentryAppenderTest {
val logger = fixture.getSut(minimumLevel = Level.TRACE)
logger.trace("testing trace level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(
Expand All @@ -267,7 +267,7 @@ class SentryAppenderTest {
val logger = fixture.getSut(minimumLevel = Level.DEBUG)
logger.debug("testing debug level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { event -> assertEquals(SentryLogLevel.DEBUG, event.items.first().level) })
Expand All @@ -278,7 +278,7 @@ class SentryAppenderTest {
val logger = fixture.getSut(minimumLevel = Level.INFO)
logger.info("testing info level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { event -> assertEquals(SentryLogLevel.INFO, event.items.first().level) })
Expand All @@ -289,7 +289,7 @@ class SentryAppenderTest {
val logger = fixture.getSut(minimumLevel = Level.WARN)
logger.warn("testing warn level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { event -> assertEquals(SentryLogLevel.WARN, event.items.first().level) })
Expand All @@ -300,7 +300,7 @@ class SentryAppenderTest {
val logger = fixture.getSut(minimumLevel = Level.ERROR)
logger.error("testing error level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { event -> assertEquals(SentryLogLevel.ERROR, event.items.first().level) })
Expand All @@ -311,7 +311,7 @@ class SentryAppenderTest {
val logger = fixture.getSut(minimumLevel = Level.FATAL)
logger.fatal("testing fatal level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { event -> assertEquals(SentryLogLevel.FATAL, event.items.first().level) })
Expand Down
2 changes: 2 additions & 0 deletions sentry-log4j2/src/test/resources/sentry.properties
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
release=release from sentry.properties
logs.enabled=true
shutdown-timeout-millis=0
session-flush-timeout-millis=0
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import io.sentry.SentryLogLevel
import io.sentry.SentryOptions
import io.sentry.checkEvent
import io.sentry.checkLogs
import io.sentry.test.applyTestOptions
import io.sentry.test.initForTest
import io.sentry.transport.ITransport
import java.time.Instant
Expand Down Expand Up @@ -68,6 +69,7 @@ class SentryAppenderTest {
options.dsn = dsn
options.isSendDefaultPii = sendDefaultPii
options.logs.isEnabled = enableLogs
applyTestOptions(options)
contextTags?.forEach { options.addContextTag(it) }
appender.setOptions(options)
appender.setMinimumBreadcrumbLevel(minimumBreadcrumbLevel)
Expand Down Expand Up @@ -317,7 +319,7 @@ class SentryAppenderTest {
fixture = Fixture(minimumLevel = Level.TRACE, enableLogs = true)
fixture.logger.trace("testing trace level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { logs -> assertEquals(SentryLogLevel.TRACE, logs.items.first().level) })
Expand All @@ -328,7 +330,7 @@ class SentryAppenderTest {
fixture = Fixture(minimumLevel = Level.DEBUG, enableLogs = true)
fixture.logger.debug("testing debug level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { logs -> assertEquals(SentryLogLevel.DEBUG, logs.items.first().level) })
Expand All @@ -339,7 +341,7 @@ class SentryAppenderTest {
fixture = Fixture(minimumLevel = Level.INFO, enableLogs = true)
fixture.logger.info("testing info level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { logs -> assertEquals(SentryLogLevel.INFO, logs.items.first().level) })
Expand All @@ -350,7 +352,7 @@ class SentryAppenderTest {
fixture = Fixture(minimumLevel = Level.WARN, enableLogs = true)
fixture.logger.warn("testing warn level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { logs -> assertEquals(SentryLogLevel.WARN, logs.items.first().level) })
Expand All @@ -361,7 +363,7 @@ class SentryAppenderTest {
fixture = Fixture(minimumLevel = Level.ERROR, enableLogs = true)
fixture.logger.error("testing error level")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(checkLogs { logs -> assertEquals(SentryLogLevel.ERROR, logs.items.first().level) })
Expand All @@ -372,7 +374,7 @@ class SentryAppenderTest {
fixture = Fixture(minimumLevel = Level.TRACE, enableLogs = true)
fixture.logger.trace("Testing {} level", "TRACE")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(
Expand All @@ -394,7 +396,7 @@ class SentryAppenderTest {
fixture = Fixture(minimumLevel = Level.TRACE, enableLogs = true, encoder = encoder)
fixture.logger.trace("Testing {} level", "TRACE")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(
Expand All @@ -420,7 +422,7 @@ class SentryAppenderTest {
)
fixture.logger.trace("Testing {} level", "TRACE")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(
Expand All @@ -447,7 +449,7 @@ class SentryAppenderTest {
)
fixture.logger.trace("Testing {} level", "TRACE")

Sentry.flush(1000)
Sentry.flush(10)

verify(fixture.transport)
.send(
Expand Down
Loading
Loading