Java で Airbrake/Errbit を使うときに airbrake-java を使うべきではない

環境

  • airbrake-java: v2.2.8
  • errbit-java: v2.3.1

問題

Java + log4jAirbrake / Errbit を使う場合には、公式である airbrake-java を使うと思う。
しかし、このライブラリは v2.2.8 時点でとんでもない地雷ライブラリだったので使うべきではない。

具体的には以下の様な不具合がある

いくつかの問題に対しては Pull-Request が上がっているが放置されている。
公式ライブラリとは一体…。

ではどうするか?

errbit-java という 3rd-party 製のライブラリがあって、上記の問題が全て解決されている。

使い方も簡単で、まず pom.xml に以下のように書く。

<dependency>
    <groupId>net.lightoze.errbit</groupId>
    <artifactId>errbit-logger</artifactId>
    <version>2.3.1</version>
</dependency>

次に log4j.properites に以下のように書く。

log4j.appender.errbit=net.lightoze.errbit.Log4jErrbitAppender
log4j.appender.errbit.apiKey=YOUR_ERRBIT_API_KEY
log4j.appender.errbit.environment=production
log4j.appender.errbit.url=https://your.errbit.host/notifier_api/v2/notices

log4j.rootLogger=INFO, stdout, errbit

これで例外が出た時に Airbrake/Errbit に通知される。簡単ですね。

まとめ

Errbit 最高!