Skip to content

fix: enable Sentry logging support for jvb, jicofo, and jigasi#2229

Draft
hluaces wants to merge 1 commit intojitsi:masterfrom
hluaces:enable-sentry
Draft

fix: enable Sentry logging support for jvb, jicofo, and jigasi#2229
hluaces wants to merge 1 commit intojitsi:masterfrom
hluaces:enable-sentry

Conversation

@hluaces
Copy link
Copy Markdown

@hluaces hluaces commented Feb 25, 2026

The logging.properties templates used toBool on the SENTRY_DSN variable, which is a URL, making it impossible to configure Sentry properly. The SENTRY_DSN default was also set to "0" which is truthy in Go templates when toBool is removed.

Additionally, the sentry-jul JAR (containing the SentryHandler class) was missing from all three Docker images, causing a ClassNotFoundException at startup.

I believe we are not trying to move this upstream (see https://github.com/jitsi/jitsi videobridge/pull/1785) but if we wanted to make this better we should be changing upstream so that the jul jars are also included.

This won't work as-is until the docker images are built and published. An override file like this can be used to force to use local images to test it:

services:
    jicofo:
        build:
            context: ./jicofo
            args:
                BASE_TAG: unstable
    jvb:
        build:
            context: ./jvb
            args:
                BASE_TAG: unstable

For:

The logging.properties templates used toBool on the SENTRY_DSN
variable, which is a URL, making it impossible to configure Sentry
properly. The SENTRY_DSN default was also set to "0" which is truthy
in Go templates when toBool is removed.

Additionally, the sentry-jul JAR (containing the SentryHandler class)
was missing from all three Docker images, causing a
ClassNotFoundException at startup.

I believe we are not trying to move this upstream (see jitsi/jitsi-videobridge#1785) but if we wanted to make this better we should be changing
upstream so that the jul jars are also included.

This won't work as-is until the docker images are built and published. An override file like this can be used to force to use local images to test it:

```yaml
services:
    jicofo:
        build:
            context: ./jicofo
            args:
                BASE_TAG: unstable
    jvb:
        build:
            context: ./jvb
            args:
                BASE_TAG: unstable
```
@hluaces
Copy link
Copy Markdown
Author

hluaces commented Feb 25, 2026

Managed to get it working and shipping messages:

image

@damencho
Copy link
Copy Markdown
Member

If we are downloading it here, can we drop it from here: https://github.com/jitsi/jitsi-videobridge/blob/4e32a93889406114ab0b5d9410f7471ee60fc1e0/jvb/pom.xml#L214?

@hluaces
Copy link
Copy Markdown
Author

hluaces commented Feb 25, 2026

If we are downloading it here, can we drop it from here: https://github.com/jitsi/jitsi-videobridge/blob/4e32a93889406114ab0b5d9410f7471ee60fc1e0/jvb/pom.xml#L214?

Not the same thing. That's sentry, this downloads sentry-jul. Upstream packages the former, but doesn't do it for the latter, which this pr fixes here. I believe we need both.

I'm not entirely sure on what upstream wants to do here. Provided that Sentry wants to be supported, the long term fix is to build sentry-jul in them. But after seeing jitsi/jitsi-videobridge#1785 I'm not entirely sure if that's the case, so that's why I baked the jar file here.

If we prefer open PRs in the rest, it should be straightforward.

@damencho
Copy link
Copy Markdown
Member

What about adding and the other dependency here and getting rid of those dependencies in jicofo and jvb?

@hluaces
Copy link
Copy Markdown
Author

hluaces commented Feb 25, 2026

Probably doable. We'd need to download both artifacts here. Also worth noting jigasi also uses the dependency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants