Back/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를 담아 보낸다.

'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