log-back을 이용하여 에러로그를 추적하는 경우 해당 메시지들은 로그 추적을 위해 만든 소유자 계정으로 메시지가 전송되는 것을 확인 할 수 있습니다. 이때 개인 계정이 아닌 bot을 이용하는 방법을 공유 하고자 작성하게 되었습니다.
우선 기본적으로 bot을 만들 수 있는 권한은 System Admin이어야 가능합니다
하단에 보시면 Bot Acccounts 가 보이는데요 member 권한인 경우에는 안 보 일 수 있습니다
[ Bot Acccounts ] 를 클릭 해보시면 생성 하는 곳이 없습니다…
이경우 SystemConsole로 가서 Bot설정을 해줘야 하는데 아래와 같이 설쟁 하주시면 됩니다. Enable Bot Account Creation → false에서 true로 변경하면 됩니다.
[AS-IS]
[TO-BE]
아까와는 달리 Add Bot Account가 추가 된것을 확인 할 수 있습니다.
저는 아래와 같이 ss_bot이랑 채널에만 post할 수 있는 bot을 생성하겠습니다.
나중에 사용할 Token 값을 따로 저장을 하고 Done 클릭합니다.
제가 로깅 추적을 위해 만든 채널의 info 정보를 확인 하면 하단에 보이는 id값이 보이는데 이거 또한 저장을 해줍니다.
마지막으로 mattermost관련해서 spring에서 사용하려면 config 수정 필요한데 아래와 같이 작성해주시면 됩니다.
key | value |
token | bot token 값 |
channelId | 채널 id |
serverAddress | mattermost 서버 주소 |
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appender name="MATTERMOST" class="io.github.pendula95.logback.MattermostAppender">
<serverAddress>{SS_MATTERMOST 서버 주소}</serverAddress>
<token>{BOT 토큰값}</token>
<channelId>{채널아이디}</channelId>
<colorCoding>true</colorCoding>g - URL links, code formatting, etc.) -->
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>**[PROJECT] %date{"yyyy-MM-dd HH:mm:ss.SSS"} %logger{128}** %n%msg%n</pattern>
</layout>
</appender>
<!-- Currently recommended way of using Mattermost appender -->
<appender name="ASYNC_MATTERMOST" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="MATTERMOST"/>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="ASYNC_MATTERMOST"/>
</root>
</configuration>
자 아래와 같이 에러를 발생 시키면 제가 만든 bot이 에러를 보여주는것을 확인 할 수 있습니다.
https://developers.mattermost.com/integrate/reference/bot-accounts/
https://olrlobt.tistory.com/63
'Spring boot' 카테고리의 다른 글
[Spring-boot] HikariCP 커넥션 누수 (1) | 2024.12.15 |
---|---|
[Spring-Boot] SecureRandom 난수 생성시 Freeze 문제 (0) | 2024.07.18 |
Spring-boot Enum으로 Request,Response 받기 (0) | 2022.12.19 |
Spring boot - Transaction Propagation (1) | 2022.07.15 |
spring boot - 트랜잭션 (0) | 2022.07.01 |