1. 코드 작성
프로세스
1. 예외 처리 구문을 이용하여 1/0 시도
2. 예외 발생 시 slack으로 메시지 전송
필요 문법
try - except문
- 문법 형식
try:
...
except 발생 오류 as 오류 변수:
...
Slack 메세지 전송
- 필요 라이브러리 : request
- 설치 방법
# python 3 사용 시
sudo pip3 install request
- 코드
import requests
# 함수
def send_message_to_slack(error):
url = "SLACK_WEBHOOK_URL"
username = "ec2.vim-test"
# text = ZeroDivisionError : division by zero
text = error.__class__.__name__ + " : " + error.__str__()
icon_emoji = ":heavy_division_sign:"
channel = "# test_alarm"
payload = {"channel": channel, "username" : username, "text" : text, "icon_emoji" : icon_emoji }
# 메세지 전송
requests.post(url, json=payload)
전체 코드
더보기
import requests
# 메세지 전송 함수
def send_message_to_slack(error):
url = "SLACK_WEBHOOK_URL"
username = "ec2.vim-test"
# 의도한 text == ZeroDivisionError : division by zero
text = error.__class__.__name__ + " : " + error.__str__()
icon_emoji = ":heavy_division_sign:"
channel = "# test_alarm"
payload = {"channel": channel , "username" : username, "text" : text, "icon_emoji" : icon_emoji }
# 메세지 전송
requests.post(url, json=payload)
# MAIN
# ArithmeticError 발생
try:
num = 1/0
except ArithmeticError as e:
send_message_to_slack(e)
2. 실행 결과
python3 send-message-slack.py