Programming/Spring

Programming/Spring

[SpringBoot] Redis Publish Channel Subscribe

Spring Boot 환경에서 Redis를 사용한다면, build.gradle에 다음과 같이 스크립트를 작성 할 것이다. // Redis 의존성 implementation 'org.springframework.boot:spring-boot-starter-data-redis' 외부 Redis 서버를 사용하는 경우, application.yml에 다음과 같이 Redis 접속 정보를 입력한다. spring: redis: host: localhost port: 6378 database: 0 password: redispassword 이후 application.yml에 작성된 접속 정보를 바탕으로 Redis 환경설정을 다음과 같이 해준다(임베디드 Redis 서버를 사용하는 경우 아래 설정코드와는 다르게 설정해야한..

Programming/Spring

[Spring Boot] @Schedule로 스케줄 프로그래밍 하기

Spring 에는 주기적인 일을 처리할 수 있도록 스케줄 관련 기능이 포함되어있다. 먼저 스케줄 작업을 처리하기 위해 src/config 패키지 하위에 ScheduleConfiguration 클래스를 작성하자. 그다음에 다음과 같이 작성 하자. @EnableScheduling 어노테이션을 선언함으로써, Spring은 스케줄 관련 기능을 지원하며 스케줄링 관련 어노테이션을 활성화한다. 프로젝트의 메인 클래스인 DemoApplication 클래스에서 @EnableScheduling 어노테이션을 선언하여, 스케줄링 기능을 활성화할 수 있지만, 나는 설정 파일들은 모두 따로 config 패키지 하위에 클래스로 생성하여 관리한다. 이 방법이 좀 더 직관적인 것 같다. 그다음 반복되는 스케줄 작업을 선언하기 위해 ..

Programming/Spring

[SpringBoot] 에러 로그 모니터링 with Sentry

오늘은 Spring Boot 환경에서 에러 로그 모니터링을 하는 방법에 대해서 설명해보겠습니다. 개발이 완료된 서버를 운영환경에 배포하면, 서버가 잘 동작하고 있는지, 에러가 발생한다면 해당 에러는 어디서 발생하는지 확인이 필요합니다. 그래서 오늘은 이슈 트래킹을 할 수 있는 Sentry를 Spring Boot와 연동해보겠습니다. 이번 포스팅은 연동관련 된 내용만 다룹니다. Sentry에 대한 자세한 내용은 다음 포스팅을 참고해주세요! [DevOps] 로그 수집 및 모니터링 시스템 - Sentry (1탄) [DevOps] 로그 수집 및 모니터링 시스템 - Sentry (2탄) 먼저 Sentry 프로젝트를 다음과 같이 만듭니다. 1. create project 클릭 2. server 탭 클릭 3. LogB..

Programming/Spring

[SpringBoot] LocalDateTime Json Serialized

요즘 회사에서 Spring Boot 2.0, JPA, Hibernate 기반으로 API 서버를 새로 개발하고 있다. 다들 알다시피, Java 8부터는 시간 관련 클래스인 LocalDateTime 클래스가 새로이 추가되었다. 기존 Date 클래스와 여러 날짜 관련 유틸성 클래스들의 문제점들을 보완한 새로운 클래스이다. Spring Boot 버전대별로 LocalDateTime 클래스의 값을 Json 형태의 String 값으로 변환하는 방법을 설명하도록 하겠다. # Spring Boot (version: 1.5.x) { "localDateTime": { "month": "JUNE", "year": 2019, "dayOfMonth": 19, "dayOfWeek": "WEDNESDAY", "dayOfYear": ..

Programming/Spring

Spring Boot Logging (Convert To JSON Format)

Spring Boot의 기본 로그 객체는 Logback으로 SLF4j의 구현체이다. Spring Boot 프로젝트를 실행하면 아래와 같이 LogBack의 기본 로그 포맷이 콘솔에 찍히게 된다. 업무에 사용되는 모니터링 시스템이나, 로깅 시스템에 따라 로그 포맷을 바꿔야 하는 경우가 있는데 이러한 경우 다음과 같은 방법으로 로그 포맷을 변경할 수 있다. 1. application파일에서 로깅 포맷을 변경 (저는 yml 형태로 application 파일을 설정합니다.) [ resources/application.yml ] logging: pattern: console: "%cyan([GatewayServer]) - %magenta([%d{yyyy:mm:dd HH:MM:ss}]) - %highlight([%-..

JohnMark
'Programming/Spring' 카테고리의 글 목록 (2 Page)