首页 > 解决方案 > 为什么 Sentry 不适用于我的 Log4j2

问题描述

嘿,我需要哨兵和 log4j2 方面的帮助。Sentry 对我来说很好,但是当我想使用 log4j2 时,不会向 sentry 发送错误。

否则哨兵在没有 log4j2 的情况下可以正常工作,有人可以帮帮我吗?

这是我的示例代码

public class Test {

    private static final Logger logger = LogManager.getLogger(Test.class);

    public static void main(String[] args) {
        logger.error("test");
    }
}

普通和简单的类

这是我的 log4j2.xml

     <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="warn" packages="org.apache.logging.log4j.core,io.sentry.log4j2">
        <Appenders>
            <Console name="Console" target="SYSTEM_OUT">
                <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
            </Console>
            <Sentry name="Sentry"
                    dsn="mydns"
                    minimumBreadcrumbLevel="DEBUG"
                    minimumEventLevel="WARN"
            />
        </Appenders>
        <Loggers>
            <Root level="warn">
                <AppenderRef ref="Sentry"/>
                <AppenderRef ref="Console"/>
            </Root>
        </Loggers>
    </Configuration>

我从哨兵文档中得到了 log4j2.xml

这是我的pom

     <dependencies>
        <dependency>
            <groupId>io.sentry</groupId>
            <artifactId>sentry-log4j2</artifactId>
            <version>4.3.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.13.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.13.0</version>
        </dependency>

    </dependencies>

标签: javalog4j2sentry

解决方案


推荐阅读