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