반응형
Application에 개발자가 예상하지 못한 오류가 발생하면 사용자의 문의보다 빠르게 발생과 원인을 알 수 있도록 슬랙 알림 설정을 해보자.
Application은 Spring Boot로 로그는 Logback을 사용해서 간단한 설정으로 Slack 알림을 받아볼 수 있다.
1. Slack Webhook 앱 생성
슬랙 사이드 바 하단에 앱 추가 버튼을 클릭 해 WebHooks 앱을 추가한다.
생성된 웹후크 URL을 복사
2. Logback Slack Appender 의존성 추가 및 Logback 설정
build.gradle
dependencies {
...
implementation group: 'com.github.maricn', name: 'logback-slack-appender', version: '1.6.1'
}
application.yml
...
logging:
config: classpath:logback-spring.xml
logback-spring.xml
<configuration>
...
<appender name="ApiErrorSlackAlarm" class="com.github.maricn.logback.SlackAppender">
<!-- 오류 로그만 필터링 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<!-- 슬랙 웹후크 URL -->
<webhookUri>https://hooks.slack.com/services/.....</webhookUri>
<!-- 메시지 발신자 이름 -->
<username>ERROR-ALARM</username>
<!-- 메시지 이모지 -->
<iconEmoji>:shake:</iconEmoji>
<!-- 로그 레벨에 컬러 코딩을 사용 -->
<colorCoding>true</colorCoding>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>[%d{yyyy-MM-dd HH:mm:ss}][%thread] %-5level %logger{36} - %msg</pattern>
</layout>
</appender>
...
<springProfile name="local">
<logger name="com.sample.project.LoggingAspect" level="INFO">
...
<appender-ref ref="ApiErrorSlackAlarm" />
</logger>
</springProfile>
</configuration>
webhookUri에 위에서 복사한 URL을 넣어준다.
3. 테스트
application 내에서 테스트로 오류를 발생시켜 보면 설정한 에러 로그가 슬랙으로 발송된것을 확인할 수 있다.
참 슬랙은 연동하기 편한것...
반응형
'Spring' 카테고리의 다른 글
Spring boot 3.x + Amazon SQS 적용기 (2) | 2023.05.30 |
---|---|
Spring Boot Admin 구축 및 보안 설정 (0) | 2023.01.02 |
플러그인을 사용해 라이선스 보고서 생성하기 (0) | 2022.09.06 |
Spring Boot + AOP + Sentry 로깅 및 오류 모니터링 하기 (0) | 2022.07.19 |
Jenkins + Docker + Spring Cloud Config 적용기 (4) | 2022.05.24 |