winston과 morgan등을 통해 log를 저장했으나,
해당 log들을 제때제때 확인하고 싶었고,
프론트 화면으로 보여주기엔 공수가 너무 많이 들어갔다.
슬렉으로 오류 메시지를 받기로 했다.
slack-node는 마지막 업데이트가 5년전이라 사용하기 좀 뭐했는데,
거창한 기능을 사용할게 아니라서, 그냥 사용했다.
다른 slack npm도 써봤는데, 인증키도 받아야하고, 귀찮은 작업이 많았다.
물론 POST같은 요청도 처리할 수 있어서 나중에 slack을 이용해서 뭔가 만든다고 하면, 유용하게 사용할 수 있겠지만
지금 프로젝트에선 필요도 없고, 당장 쓰기도 복잡해보여서, 선택 안했다.
slack-node는 웹훅의 url만으로도 메시지를 가볍게 보낼 수 있다.
1. Slack APP을 생성한다.
https://api.slack.com/
create app 클릭
누르고 APP의 이름과
본인의 워크 스페이스를 선택한다.
왼쪽의 Features에서 Incoming WebHooks를 선택하고 Url을 받는다.
WebhookURL까지 만들었다면 준비는 끝
옆의 Channel은 보여주고 싶은 Channel에 보여주면 되겠다.
2. slack-node 설치
npm install slack-node --save
슬렉으로 메시지를 보낼 파일을 선택
const Slack = require('slack-node');
const webhookUrl = process.env.SLACK_URL;
const slack = new Slack();
slack.setWebhook(webhookUrl);
slack.webhook({
channel: "#error",
text: "메시지메시지"
},
(err, response) => {})
}
}
이렇게 하면 error 채널에 메시지를 보낼 수 있다.
실제 적용 예시
const stream = {
write: message => {
logger.info(message)
slack.webhook({
channel: "#에러",
username: "logging",
text: message
},
(err, response) => {})
}
}
morgan과 winston을 사용할 떄 이용했으며,
logging할 때 message를 담아 보낸다.
'Back > Node.js' 카테고리의 다른 글
AWS RDS AURORA + NODEJS (0) | 2021.10.15 |
---|---|
Nodejs Excel Mysql (0) | 2021.10.04 |
node.js ssl & https (0) | 2021.05.15 |
Node.js Mongodb aggregate lookup (0) | 2021.05.12 |
Node.js 검색 기능 (0) | 2021.05.11 |