【New Relic】Spring bootで外部ツールでログ出力したい(@SLF4J)
1. build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-logging'
implementation 'org.slf4j:slf4j-api:1.7.30'
implementation 'com.newrelic.agent.java:newrelic-api:7.4.0'
}
slf4jとNew Relicの依存関係を設定します
2. New Relicエージェントの設定
New RelicのJavaエージェントを設定する必要があります
newrelic.jarファイルをアプリケーションの/libディレクトリに配置し、起動スクリプトで以下のように指定します
(例えば、newrelic.jarがプロジェクトのlibディレクトリにある場合は、次のように実行します)
java -javaagent:./lib/newrelic.jar -jar your-app.jar
また、New Relicのnewrelic.yml設定ファイルをアプリケーションの/resourcesディレクトリに配置し、New Relicアカウント情報を設定します
詳しくはこちら!
3. SLF4JとNew Relicを使用したログ出力
クラス内で@Slf4jアノテーションを使用して、ログを出力します
@Slf4j
@RestController
public class MyController {
@GetMapping("/error")
public String errorExample() {
try {
// 何らかの処理
throw new RuntimeException("An unexpected error occurred");
} catch (Exception e) {
// New Relicにエラーログとカスタム項目を送信
NewRelic.noticeError(e);
NewRelic.addCustomParameter("requestId", "12345");
NewRelic.addCustomParameter("userId", "user-67890");
// エラーログの出力
log.error("An error occurred: requestId={}, userId={}, errorMessage={}", "12345", "user-67890", e.getMessage(), e);
throw e;
}
return "Error!";
}
}
※ カスタム項目付与についてはこちら参照ください!
是非フォローしてください
最新の情報をお伝えします