Sentry hỗ trợ một số logging framework như java.util.logging/Log4j 2.x/Logback/... Xem chi tiết tại đây: https://docs.sentry.io/clients/java/integrations/#logback
Project này đang sử dụng logback, các bước config bao gồm:
- Thêm sentry-logback dependency vào build.gradle
compile 'io.sentry:sentry-logback:1.7.30' - Tạo file logback.xml trong thư mục resources
<configuration> <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> <appender name="Sentry" class="io.sentry.logback.SentryAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>WARN</level> </filter> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="INFO"> <appender-ref ref="Console"/> <appender-ref ref="Sentry"/> </root> </configuration>
Có 3 cách để config các thuộc tính của Sentry:
stacktrace.app.packages=io.x10.projectexample
dsn=https://06bb609eb55b49aebbce0497613b5082:6588b52febb1418f9d28b4f07090ff9b@sentry.eway.vn/77
environment=dev
Truyền giá trị các biến mà Sentry hỗ trợ với prefix sentry.
java -Dsentry.environment=production -Drelease=1.0 -jar build/libs/project-example-0.0.1-SNAPSHOT.jarBiến môi trường mà Sentry có thể parse được chính là tên biến viết hoa kèm prefix SENTRY ở đầu, với các dấu . thay bằng _. Ví dụ sample.rate sẽ là SENTRY_SAMPLE_RATE
SENTRY_DSN=https://06bb609eb55b49aebbce0497613b5082:6588b52febb1418f9d28b4f07090ff9b@sentry.eway.vn/77 \
java -jar build/libs/project-example-0.0.1-SNAPSHOT.jar dsn: unique URI cho mỗi project - lấy giá trị này từ mục cài đặt trong sentry projectstacktrace.app.packages: Biến này giúp sentry highlight package của project này trên giao diệnrelease: định danh version hiện tại nhằm mục đích filter hoặc report lỗi theo bản releaseenvironment: định danh môi trường, có thể dùng để filter alert - chỉ email khi environment = productionservername: tên server - có thể dùng để định danh node khi chạy nhiều container giúp tìm ra node gây lỗi (VD: servername=adflex-pro-306)tags: các cặp key-value tuỳ chỉnh, ví dụ như commit hash. Truyền vào nhiều tag với pattern:tags=tag1:value1,tag2:value2
Xem thêm tại đây: https://docs.sentry.io/clients/java/config/#configuration-via-the-dsn
gradle buildjava -Dsentry.dsn=${YOUR_DSN} sentry.enviroment=production -jar build/libs/project-example-0.0.1-SNAPSHOT.jarHoặc sử dụng System Environment Variable
SENTRY_DSN=${YOUR_DSN} SENTRY_ENVIRONMENT=production java -jar build/libs/project-example-0.0.1-SNAPSHOT.jar