on
Node.js Slack Error Logging slack-node (노드JS 슬랙 에러 로깅)
Node.js Slack Error Logging slack-node (노드JS 슬랙 에러 로깅)
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를 담아 보낸다.
from http://developoerty.tistory.com/103 by ccl(A) rewrite - 2021-10-04 04:27:07