温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

【总结】log4j on sentry实践

发布时间:2020-07-26 20:15:54 来源:网络 阅读:3186 作者:巧克力黒 栏目:大数据

1、sentry

Sentry一个开源错误跟踪工具,能够让开发者实时监控和修复崩溃程序,持续迭代,提高效率。程序代码中集成Sentry之后,能够将异常信息发送到Sentry服务,并且可以通过配置Sentry插件,能够实现通过邮件、钉钉等告警通知。
Sentry官网:https://sentry.io/welcome/

2、log4j/logback on sentry

Sentry中提供log4j的Appender,可以将log中特定等级日志发送到Sentry中
  • 代码中集成Sentry
    使用Maven:
    <dependency>
    <groupId>io.sentry</groupId>
    <artifactId>sentry-logback</artifactId>
    <version>1.7.5</version>
    </dependency>

    使用SBT:
    libraryDependencies += "io.sentry" % "sentry-logback" % "1.7.5"

  • logback.xml的配置

    <configuration>
    <!-- Configure the Console appender -->
    <appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
    <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
    </appender>

    <!-- Configure the Sentry appender, overriding the logging threshold to the WARN level -->
    <appender name="Sentry" class="io.sentry.logback.SentryAppender">
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
    <level>WARN</level>
    </filter>
    </appender>

    <!-- Enable the Console and Sentry appenders, Console is provided as an example
    of a non-Sentry logger that is set to a different logging threshold -->
    <root level="INFO">
    <appender-ref ref="Console" />
    <appender-ref ref="Sentry" />
    </root>
    </configuration>

3、配置Sentry的DSN(Data Source Name)

有以下集中实现的方式。

  • 配置在classpath下的sentry.properties
    dsn=https://public:private@host:port/1
  • 配置在Java系统属性中(Java System Properties)
    java -Dsentry.dsn=https://public:private@host:port/1 -jar app.jar
  • 配置在系统环境变量中
    SENTRY_DSN=https://public:private@host:port/1 java -jar app.jar
  • 在代码中实现
    import io.sentry.Sentry;
    Sentry.init("https://public:private@host:port/1");

我采用的是第二个方式,配置启动程序的JVM参数
【总结】log4j on sentry实践

4、代码实现

具体工程代码可以参考 https://github.com/chocolateBlack/loghub-logback-sentry

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI