Slack Webhook 설정법 & Java의 JSON 활용법

단비·2023년 4월 20일
0

학습

목록 보기
10/66

Slack Webhook 간단한 설정법

1. application.yml

logging:
  slack:
    webhook-uri: //웹훅링크 
  config: classpath:logback-slack.xml

2. logback-slack.xml

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <springProperty name="SLACK_WEBHOOK_URI" source="logging.slack.webhook-uri"/>
    <appender name="SLACK" class="com.github.maricn.logback.SlackAppender">
        <!-- Slack API token -->
        <!-- <token>1111111111-1111111-11111111-111111111</token>-->
        <!-- Slack incoming webhook uri. Uncomment the lines below to use incoming webhook uri instead of API token. -->
        <webhookUri>${SLACK_WEBHOOK_URI}</webhookUri>
        <!-- Channel that you want to post - default is #general -->
        <!-- <channel>#api-test</channel>-->
        <!-- Formatting (you can use Slack formatting - URL links, code formatting, etc.) -->
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>%msg%n</pattern>
        </layout>
        <!-- Username of the messages sender -->
        <username>error_msg</username>
        <!-- If color coding of log levels should be used -->
        <colorCoding>true</colorCoding>
    </appender>
    <!-- Currently recommended way of using Slack appender -->
    <appender name="ASYNC_SLACK" class="ch.qos.logback.classic.AsyncAppender">
        <appender-ref ref="SLACK"/>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
    </appender>
    <root>
        <level value="ALL"/>
        <appender-ref ref="ASYNC_SLACK"/>
    </root>
</configuration>

3. build.gradle

dependencies {
	implementation 'com.github.maricn:logback-slack-appender:1.6.1'
	implementation group: 'eu.bitwalker', name: 'UserAgentUtils', version: '1.17'
	implementation 'net.gpedro.integrations.slack:slack-webhook:1.4.0'
}

4. controller

  • @Slf4j 어노테이션 추가 후, log.error()를 통해 오류 메시지 전송
@Slf4j
public class Controller {
	public void test(){
    	log.error("전송된 데이터에 오류가 있습니다.");
    }
}






JAVA를 이용한 JSON 데이터 파싱 방법

세팅법

1. build.gradle

// https://mvnrepository.com/artifact/org.json/json
implementation group: 'org.json', name: 'json', version: '20230227'

사용법

  • Object 가져오기
    • new JSONObject
JSONObject jObject = new JSONObject(jsonStr);
  • Object List 가져오기
    • getJSONArray
    • Object 에서 가져와야함
// {
//   "number": [
//           {"detCode": "123"},{"detCode": "222"},{"detCode": "333"}
//       ]
//  }
JSONArray arr = jObject.getJSONArray("number");
  • put을 통해 JSON 데이터 수정 가능
arr.getJSONObject(0).put("detCode","수정!");

💡 TIPS!


1. @GeneratedValue(strategy = GenerationType.IDENTITY)

  • GenerationType은 DB 툴에 따라 값이 다르며, 설정 시 Auto_Increment가 적용된다.

2. 문자열 거꾸로 뒤집기

  • java.lang.StringBuffer 클래스의 reverse() 메소드를 사용
    StringBuffer sb = new StringBuffer(str);
    String reverse = sb.reverse().toString()

3. HashMap 초기값 세팅 방법

  • Java8 버전 이하일 경우
    Map<String, Object> map = new HashMap<>() {{
      put("name", "dbkim");
      put("nickname", "sweetRain");
    }};
  • Java9 버전 이상일 경우
    Map<String, Object> map = Map.of(
      "name", "dbkim",
      "nickname", "sweetRain"
    );

4. 데이터 타입 확인 방법

변수명.getClass().getName()
profile
tistory로 이전! https://sweet-rain-kim.tistory.com/

0개의 댓글