From 90e8108383a5c1413634f98152d806cb7545ecb7 Mon Sep 17 00:00:00 2001 From: silkair Date: Wed, 5 Feb 2025 15:07:14 +0900 Subject: [PATCH 01/13] feat : basic setting for monitorin(prometheus) --- monitoring/prometheus.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 monitoring/prometheus.yml diff --git a/monitoring/prometheus.yml b/monitoring/prometheus.yml new file mode 100644 index 0000000..a4a1eb3 --- /dev/null +++ b/monitoring/prometheus.yml @@ -0,0 +1,16 @@ +global: + scrape_interval: 15s + +scrape_configs: + - job_name: 'prometheus' + static_configs: + - targets: ['localhost:9090'] + + - job_name: 'book-mile' + metrics_path: '/actuator/prometheus' + static_configs: + - targets: ['book-mile:8080'] + + - job_name: 'node-exporter' + static_configs: + - targets: ['node-exporter:9100'] \ No newline at end of file From c5ba5996877f648dc963b9c5c6b6df1d94f5a505 Mon Sep 17 00:00:00 2001 From: silkair Date: Wed, 5 Feb 2025 15:13:13 +0900 Subject: [PATCH 02/13] feat : set grafana datasources for auto target --- monitoring/grafana/datasources.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 monitoring/grafana/datasources.yml diff --git a/monitoring/grafana/datasources.yml b/monitoring/grafana/datasources.yml new file mode 100644 index 0000000..0eddf26 --- /dev/null +++ b/monitoring/grafana/datasources.yml @@ -0,0 +1,7 @@ +apiVersion: 1 +datasources: + - name: Prometheus + type: prometheus + access: proxy + url: http://prometheus:9090 + isDefault: true From 0ab00ca82f52bc65928bc8d0b8b19963b0088662 Mon Sep 17 00:00:00 2001 From: silkair Date: Wed, 5 Feb 2025 15:39:24 +0900 Subject: [PATCH 03/13] feat : set docker compose for monitoring --- docker-compose.yml | 26 +++++++++++++++++++++++++- monitoring/prometheus.yml | 4 ++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 31842ee..2d1b900 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,4 @@ -version: '3.8' + version: '3.8' services: mysql: image: mysql:latest @@ -29,6 +29,30 @@ services: networks: - app-network + prometheus: + image: prom/prometheus + container_name: prometheus + volumes: + - ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml + ports: + - "9090:9090" + networks: + - app-network + depends_on: + - application + + grafana: + image: grafana/grafana + container_name: grafana + depends_on: + - prometheus + volumes: + - ./monitoring/grafana/datasources.yml:/etc/grafana/provisioning/datasources/datasources.yml + ports: + - "3000:3000" + networks: + - app-network + application: container_name: book-mile-app build: diff --git a/monitoring/prometheus.yml b/monitoring/prometheus.yml index a4a1eb3..3fdd5cf 100644 --- a/monitoring/prometheus.yml +++ b/monitoring/prometheus.yml @@ -6,10 +6,10 @@ scrape_configs: static_configs: - targets: ['localhost:9090'] - - job_name: 'book-mile' + - job_name: 'spring-boot-app' metrics_path: '/actuator/prometheus' static_configs: - - targets: ['book-mile:8080'] + - targets: ['book-mile-app:8080'] - job_name: 'node-exporter' static_configs: From 50e8393e67820d9a894423e1c3b4eb0d831a73ee Mon Sep 17 00:00:00 2001 From: silkair Date: Wed, 5 Feb 2025 16:37:17 +0900 Subject: [PATCH 04/13] feat : allow promethus endpoint --- docker-compose.yml | 2 +- src/main/java/com/bookmile/backend/BackendApplication.java | 6 +++--- .../com/bookmile/backend/global/config/SecurityConfig.java | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 2d1b900..7dd99c0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,4 @@ - version: '3.8' +version: '3.8' services: mysql: image: mysql:latest diff --git a/src/main/java/com/bookmile/backend/BackendApplication.java b/src/main/java/com/bookmile/backend/BackendApplication.java index db97970..54f7b0d 100644 --- a/src/main/java/com/bookmile/backend/BackendApplication.java +++ b/src/main/java/com/bookmile/backend/BackendApplication.java @@ -6,9 +6,9 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; -@OpenAPIDefinition(servers = - {@Server(url = "https://bookmile.site/", description = "배포 서버 주소"), - @Server(url = "/", description = "개발용 서버 주소")}) +//@OpenAPIDefinition(servers = +// {@Server(url = "https://bookmile.site/", description = "배포 서버 주소"), +// @Server(url = "/", description = "개발용 서버 주소")}) @SpringBootApplication public class BackendApplication { diff --git a/src/main/java/com/bookmile/backend/global/config/SecurityConfig.java b/src/main/java/com/bookmile/backend/global/config/SecurityConfig.java index 7566099..4d4caf6 100644 --- a/src/main/java/com/bookmile/backend/global/config/SecurityConfig.java +++ b/src/main/java/com/bookmile/backend/global/config/SecurityConfig.java @@ -56,6 +56,7 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { .requestMatchers("/api/v1/users/email", "/api/v1/users/email/verify").permitAll() .requestMatchers("/api/v1/oauth2/test").permitAll() .requestMatchers( "/oauth2/**", "/login/oauth2/code/**").permitAll() + .requestMatchers("/actuator/**").permitAll() .anyRequest().authenticated()) .addFilterBefore(new JwtAuthenticationFilter(jwtTokenProvider), UsernamePasswordAuthenticationFilter.class) .addFilterBefore(new JwtExceptionHandlerFilter(), JwtAuthenticationFilter.class) From fb0709a93902b92fd21c54a405ff26111811be93 Mon Sep 17 00:00:00 2001 From: silkair Date: Wed, 5 Feb 2025 20:01:55 +0900 Subject: [PATCH 05/13] feat(monitoring) : add monitoring tool in docker compose and fix setting --- build.gradle | 4 ++++ monitoring/prometheus.yml | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 7dda618..7516da0 100644 --- a/build.gradle +++ b/build.gradle @@ -64,6 +64,10 @@ dependencies { // file extension implementation 'commons-io:commons-io:2.11.0' + + //monitoring + implementation 'org.springframework.boot:spring-boot-starter-actuator' + implementation 'io.micrometer:micrometer-registry-prometheus' } tasks.named('test') { diff --git a/monitoring/prometheus.yml b/monitoring/prometheus.yml index 3fdd5cf..2b86d45 100644 --- a/monitoring/prometheus.yml +++ b/monitoring/prometheus.yml @@ -9,7 +9,8 @@ scrape_configs: - job_name: 'spring-boot-app' metrics_path: '/actuator/prometheus' static_configs: - - targets: ['book-mile-app:8080'] + - targets: ['host.docker.internal:8080'] + #- targets: ['book-mile-app:8080'] - job_name: 'node-exporter' static_configs: From 69304bdeb856292c54860c43adb31ff4b1c47708 Mon Sep 17 00:00:00 2001 From: silkair Date: Wed, 5 Feb 2025 21:04:36 +0900 Subject: [PATCH 06/13] feat : install elasticsearch and kibana --- docker-compose.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 7dd99c0..3f040b2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -69,9 +69,35 @@ services: networks: - app-network + elasticsearch: + image: docker.elastic.co/elasticsearch/elasticsearch:8.5.1 + container_name: elasticsearch + environment: + - discovery.type=single-node + - xpack.security.enabled=false + - bootstrap.memory_lock=true + - "ES_JAVA_OPTS=-Xms512m -Xmx512m" + ports: + - "9200:9200" + volumes: + - elasticsearch_data:/usr/share/elasticsearch/data + networks: + - app-network + + kibana: + image: docker.elastic.co/kibana/kibana:8.5.1 + container_name: kibana + depends_on: + - elasticsearch + ports: + - "5601:5601" + networks: + - app-network + volumes: mysql_data: redis_data: + elasticsearch_data: networks: app-network: From 37b3ce515f687dbfe3bda0ffa7ccdeb5b74ed2d5 Mon Sep 17 00:00:00 2001 From: silkair Date: Wed, 5 Feb 2025 23:54:32 +0900 Subject: [PATCH 07/13] feat(monitoring) : set logstash --- docker-compose.yml | 12 ++++++++++++ monitoring/filebeat.yml | 12 ++++++++++++ monitoring/logstash.conf | 20 ++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 monitoring/filebeat.yml create mode 100644 monitoring/logstash.conf diff --git a/docker-compose.yml b/docker-compose.yml index 3f040b2..25ae5d3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -94,6 +94,18 @@ services: networks: - app-network + logstash: + image: docker.elastic.co/logstash/logstash:8.5.1 + container_name: logstash + volumes: + - ./monitoring/logstash.conf:/usr/share/logstash/pipeline/logstash.conf + ports: + - "5044:5044" + depends_on: + - elasticsearch + networks: + - app-network + volumes: mysql_data: redis_data: diff --git a/monitoring/filebeat.yml b/monitoring/filebeat.yml new file mode 100644 index 0000000..e6e35cb --- /dev/null +++ b/monitoring/filebeat.yml @@ -0,0 +1,12 @@ +filebeat.inputs: + - type: log + enabled: true + paths: + - /var/log/book-mile/*.log + fields: + service: book-mile + json.keys_under_root: true + json.add_error_key: true + +output.logstash: + hosts: ["logstash:5044"] diff --git a/monitoring/logstash.conf b/monitoring/logstash.conf new file mode 100644 index 0000000..94896f8 --- /dev/null +++ b/monitoring/logstash.conf @@ -0,0 +1,20 @@ +input { + beats { + port => 5044 + } +} + +filter { + json { + source => "message" + remove_field => ["@version", "host"] + } +} + +output { + elasticsearch { + hosts => ["http://elasticsearch:9200"] + index => "spring-logs-%{+YYYY.MM.dd}" + } + stdout { codec => rubydebug } +} From 63ef6c64a04a05033ce5f2a2d3231bedff163f8e Mon Sep 17 00:00:00 2001 From: silkair Date: Thu, 6 Feb 2025 03:01:43 +0900 Subject: [PATCH 08/13] fix : fix filebeat.yml delete permission check --- docker-compose.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 25ae5d3..76f1a41 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -106,6 +106,19 @@ services: networks: - app-network + filebeat: + image: docker.elastic.co/beats/filebeat:8.5.1 + container_name: filebeat + user: root + command: filebeat -e -strict.perms=false + volumes: + - ./monitoring/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro + - /var/log/book-mile:/var/log/book-mile + depends_on: + - logstash + networks: + - app-network + volumes: mysql_data: redis_data: From b4e2af07b2292b4ad40b6930237e65982fb4bd07 Mon Sep 17 00:00:00 2001 From: silkair Date: Sun, 16 Feb 2025 22:06:50 +0900 Subject: [PATCH 09/13] fix : get big sie book cover --- .../domain/book/service/Impl/BookListServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/bookmile/backend/domain/book/service/Impl/BookListServiceImpl.java b/src/main/java/com/bookmile/backend/domain/book/service/Impl/BookListServiceImpl.java index e31d0c2..e0cddb4 100644 --- a/src/main/java/com/bookmile/backend/domain/book/service/Impl/BookListServiceImpl.java +++ b/src/main/java/com/bookmile/backend/domain/book/service/Impl/BookListServiceImpl.java @@ -29,7 +29,7 @@ public class BookListServiceImpl implements BookListService { @Override public List searchBooks(BookListRequestDto requestDto) { // 알라딘 API 요청 URL 구성 - String url = String.format("%s?ttbkey=%s&Query=%s&QueryType=%s&MaxResults=%d&Sort=%s&output=js&Version=20131101", + String url = String.format("%s?ttbkey=%s&Query=%s&QueryType=%s&MaxResults=%d&Sort=%s&Cover=Big&output=js&Version=20131101", API_URL, TTB_KEY, requestDto.getQuery(), requestDto.getQueryType(), requestDto.getMaxResults(), requestDto.getSort()); // JSON 응답을 BookSearchApiResponse로 매핑 @@ -46,7 +46,7 @@ public List searchBooks(BookListRequestDto requestDto) { @Override public List getBestSellerList() { - String url = String.format("%s?ttbkey=%s&QueryType=Bestseller&MaxResults=10&start=1&SearchTarget=Book&output=js&Version=20131101", + String url = String.format("%s?ttbkey=%s&QueryType=Bestseller&MaxResults=10&start=1&SearchTarget=Book&Cover=Big&output=js&Version=20131101", BOOKLIST_API_URL, TTB_KEY); ResponseEntity response = restTemplate.getForEntity(url, BestSellerApiResponse.class); @@ -62,7 +62,7 @@ public List getBestSellerList() { @Override public List getNewBookList() { - String url = String.format("%s?ttbkey=%s&QueryType=ItemNewSpecial&MaxResults=10&start=1&SearchTarget=Book&output=js&Version=20131101", + String url = String.format("%s?ttbkey=%s&QueryType=ItemNewSpecial&MaxResults=10&start=1&SearchTarget=Book&Cover=Big&output=js&Version=20131101", BOOKLIST_API_URL, TTB_KEY); ResponseEntity response = restTemplate.getForEntity(url, NewBookApiResponse.class); From d3cdd896f42f7225c8d48d5e328e328f929eb471 Mon Sep 17 00:00:00 2001 From: silkair Date: Sun, 16 Feb 2025 22:14:15 +0900 Subject: [PATCH 10/13] fix : get 12 result for bestseller and new book list --- .../backend/domain/book/service/Impl/BookListServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/bookmile/backend/domain/book/service/Impl/BookListServiceImpl.java b/src/main/java/com/bookmile/backend/domain/book/service/Impl/BookListServiceImpl.java index e0cddb4..097af84 100644 --- a/src/main/java/com/bookmile/backend/domain/book/service/Impl/BookListServiceImpl.java +++ b/src/main/java/com/bookmile/backend/domain/book/service/Impl/BookListServiceImpl.java @@ -46,7 +46,7 @@ public List searchBooks(BookListRequestDto requestDto) { @Override public List getBestSellerList() { - String url = String.format("%s?ttbkey=%s&QueryType=Bestseller&MaxResults=10&start=1&SearchTarget=Book&Cover=Big&output=js&Version=20131101", + String url = String.format("%s?ttbkey=%s&QueryType=Bestseller&MaxResults=12&start=1&SearchTarget=Book&Cover=Big&output=js&Version=20131101", BOOKLIST_API_URL, TTB_KEY); ResponseEntity response = restTemplate.getForEntity(url, BestSellerApiResponse.class); @@ -62,7 +62,7 @@ public List getBestSellerList() { @Override public List getNewBookList() { - String url = String.format("%s?ttbkey=%s&QueryType=ItemNewSpecial&MaxResults=10&start=1&SearchTarget=Book&Cover=Big&output=js&Version=20131101", + String url = String.format("%s?ttbkey=%s&QueryType=ItemNewSpecial&MaxResults=12&start=1&SearchTarget=Book&Cover=Big&output=js&Version=20131101", BOOKLIST_API_URL, TTB_KEY); ResponseEntity response = restTemplate.getForEntity(url, NewBookApiResponse.class); From 6eb04bb864f1f02aba28648e079b4f384f1833a2 Mon Sep 17 00:00:00 2001 From: silkair Date: Sun, 16 Feb 2025 22:35:42 +0900 Subject: [PATCH 11/13] fix : get ISBN13 in bestseller, new book list --- .../backend/domain/book/dto/res/BestSellerResponseDto.java | 1 + .../backend/domain/book/dto/res/NewBookResponseDto.java | 1 + .../backend/domain/book/service/Impl/BookDetailServiceImpl.java | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/bookmile/backend/domain/book/dto/res/BestSellerResponseDto.java b/src/main/java/com/bookmile/backend/domain/book/dto/res/BestSellerResponseDto.java index ca5655f..3cd754b 100644 --- a/src/main/java/com/bookmile/backend/domain/book/dto/res/BestSellerResponseDto.java +++ b/src/main/java/com/bookmile/backend/domain/book/dto/res/BestSellerResponseDto.java @@ -10,5 +10,6 @@ public class BestSellerResponseDto { private String author; private String publisher; private String cover; + private String isbn13; private int customerReviewRank; } \ No newline at end of file diff --git a/src/main/java/com/bookmile/backend/domain/book/dto/res/NewBookResponseDto.java b/src/main/java/com/bookmile/backend/domain/book/dto/res/NewBookResponseDto.java index 780de0a..8ddbea9 100644 --- a/src/main/java/com/bookmile/backend/domain/book/dto/res/NewBookResponseDto.java +++ b/src/main/java/com/bookmile/backend/domain/book/dto/res/NewBookResponseDto.java @@ -11,5 +11,6 @@ public class NewBookResponseDto { private String author; private String publisher; private String cover; + private String isbn13; private int customerReviewRank; } diff --git a/src/main/java/com/bookmile/backend/domain/book/service/Impl/BookDetailServiceImpl.java b/src/main/java/com/bookmile/backend/domain/book/service/Impl/BookDetailServiceImpl.java index 52e4dc5..bc7f059 100644 --- a/src/main/java/com/bookmile/backend/domain/book/service/Impl/BookDetailServiceImpl.java +++ b/src/main/java/com/bookmile/backend/domain/book/service/Impl/BookDetailServiceImpl.java @@ -27,7 +27,7 @@ public class BookDetailServiceImpl implements BookDetailService { @Override public List detailBooks(BookDetailRequestDto bookDetailRequestDto) { - String url = String.format("%s?ttbkey=%s&ItemIdType=ISBN13&ItemId=%s&output=js&Version=20131101", + String url = String.format("%s?ttbkey=%s&ItemIdType=ISBN13&ItemId=%s&Cover=Big&output=js&Version=20131101", API_URL, TTB_KEY, bookDetailRequestDto.getIsbn13()); ResponseEntity response = restTemplate.getForEntity(url, BookDetailApiResponse.class); From d2400a89465f702328b4df078f67a283b1d17e19 Mon Sep 17 00:00:00 2001 From: silkair Date: Sun, 16 Feb 2025 22:53:02 +0900 Subject: [PATCH 12/13] fix: add bookId when get groupDetail --- .../backend/domain/group/dto/res/GroupDetailResponseDto.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/bookmile/backend/domain/group/dto/res/GroupDetailResponseDto.java b/src/main/java/com/bookmile/backend/domain/group/dto/res/GroupDetailResponseDto.java index a7ea0e9..7ecd6bd 100644 --- a/src/main/java/com/bookmile/backend/domain/group/dto/res/GroupDetailResponseDto.java +++ b/src/main/java/com/bookmile/backend/domain/group/dto/res/GroupDetailResponseDto.java @@ -22,11 +22,12 @@ public class GroupDetailResponseDto { private String goalContent; private String masterNickname; private String masterImage; + private Long bookId; @Builder private GroupDetailResponseDto(Long groupId, String groupName, String groupDescription, int maxMembers, int currentMembers, GroupStatus status, BookResponseDto book, String goalType, - String goalContent, String masterNickname, String masterImage) { + String goalContent, String masterNickname, String masterImage, Long bookId) { this.groupId = groupId; this.groupName = groupName; this.groupDescription = groupDescription; @@ -38,6 +39,7 @@ private GroupDetailResponseDto(Long groupId, String groupName, String groupDescr this.goalContent = goalContent; this.masterNickname = masterNickname; this.masterImage = masterImage; + this.bookId = bookId; } public static GroupDetailResponseDto toDto(Group group, int currentMembers, User masterUser) { @@ -53,6 +55,7 @@ public static GroupDetailResponseDto toDto(Group group, int currentMembers, User .goalContent(group.getGoalContent()) .masterNickname(masterUser.getNickname()) .masterImage(masterUser.getImage()) + .bookId(group.getBook().getId()) .build(); } } \ No newline at end of file From 7d395f532be2993a4e29df834c2aa9c5b8df54e1 Mon Sep 17 00:00:00 2001 From: silkair Date: Mon, 17 Feb 2025 17:14:18 +0900 Subject: [PATCH 13/13] fix : fix monitoring bug --- docker-compose.yml | 4 +- logs/app.log | 325 ++++++++++++++++++++++++++++++++++++++++ monitoring/filebeat.yml | 2 +- 3 files changed, 329 insertions(+), 2 deletions(-) create mode 100644 logs/app.log diff --git a/docker-compose.yml b/docker-compose.yml index 76f1a41..2daaedf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -66,6 +66,8 @@ services: env_file: - .env command: [ "java", "-jar", "/app.jar" ] + volumes: + - ./logs:/var/log/book-mile networks: - app-network @@ -113,7 +115,7 @@ services: command: filebeat -e -strict.perms=false volumes: - ./monitoring/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro - - /var/log/book-mile:/var/log/book-mile + - ./logs:/var/log/book-mile depends_on: - logstash networks: diff --git a/logs/app.log b/logs/app.log new file mode 100644 index 0000000..1bf26d7 --- /dev/null +++ b/logs/app.log @@ -0,0 +1,325 @@ +2025-02-17T06:30:00.900Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : Starting BackendApplication v0.0.1-SNAPSHOT using Java 21 with PID 1 (/app.jar started by root in /) +2025-02-17T06:30:00.924Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : The following 1 profile is active: "oauth" +2025-02-17T06:30:17.045Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode +2025-02-17T06:30:17.076Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-02-17T06:30:17.615Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data JPA - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.global.redis.RefreshTokenRepository; If you want this repository to be a JPA repository, consider annotating your entities with one of these annotations: jakarta.persistence.Entity, jakarta.persistence.MappedSuperclass (preferred), or consider extending one of the following types with your repository: org.springframework.data.jpa.repository.JpaRepository +2025-02-17T06:30:18.876Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 1665 ms. Found 11 JPA repository interfaces. +2025-02-17T06:30:18.999Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode +2025-02-17T06:30:19.010Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-02-17T06:30:19.156Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.group.repository.GroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T06:30:19.175Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.review.repository.ReviewRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T06:30:19.179Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.review.service.ReviewBookRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T06:30:19.196Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.book.repository.BookRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T06:30:19.227Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.record.repository.RecordRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T06:30:19.230Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.record.service.RecordGroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T06:30:19.258Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.user.repository.UserOAuthRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T06:30:19.261Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.user.repository.UserRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T06:30:19.265Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.image.repository.ImageRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T06:30:19.280Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.userGroup.repository.UserGroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T06:30:19.282Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.template.repository.TemplateRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T06:30:19.372Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 304 ms. Found 1 Redis repository interface. +2025-02-17T06:30:31.153Z INFO 1 --- [backend] [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-02-17T06:30:31.319Z INFO 1 --- [backend] [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-02-17T06:30:31.337Z INFO 1 --- [backend] [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-02-17T06:30:31.752Z INFO 1 --- [backend] [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-02-17T06:30:31.769Z INFO 1 --- [backend] [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 30504 ms +2025-02-17T06:30:36.094Z INFO 1 --- [backend] [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-02-17T06:30:36.692Z INFO 1 --- [backend] [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.5.3.Final +2025-02-17T06:30:36.951Z INFO 1 --- [backend] [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-02-17T06:30:39.493Z INFO 1 --- [backend] [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-02-17T06:30:39.693Z INFO 1 --- [backend] [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-02-17T06:30:42.038Z INFO 1 --- [backend] [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@726a5e6a +2025-02-17T06:30:42.073Z INFO 1 --- [backend] [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-02-17T06:30:42.590Z WARN 1 --- [backend] [main] org.hibernate.orm.deprecation : HHH90000025: MySQL8Dialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-02-17T06:30:42.597Z WARN 1 --- [backend] [main] org.hibernate.orm.deprecation : HHH90000026: MySQL8Dialect has been deprecated; use org.hibernate.dialect.MySQLDialect instead +2025-02-17T06:30:42.746Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(12, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@6b4a2887) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@23b087c3) +2025-02-17T06:30:42.750Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(-9, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@237c8718) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@325e03b) +2025-02-17T06:30:42.763Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(-3, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@3911fec8) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@1e38e8b6) +2025-02-17T06:30:42.786Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4003, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@59bbf82e) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@75b3ef1a) +2025-02-17T06:30:42.788Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4001, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@43e2b8da) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@1ac68548) +2025-02-17T06:30:42.791Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4002, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@1c3a64b6) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@761b9314) +2025-02-17T06:30:42.802Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2004, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@20e9c165) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@eabecf5) +2025-02-17T06:30:42.804Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2005, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@417b3642) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@6bd28e4a) +2025-02-17T06:30:42.807Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2011, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@55e88bc) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@544300a6) +2025-02-17T06:30:51.159Z INFO 1 --- [backend] [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-02-17T06:30:51.913Z INFO 1 --- [backend] [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-02-17T06:30:54.467Z INFO 1 --- [backend] [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-02-17T06:30:59.970Z INFO 1 --- [backend] [main] c.b.b.global.oauth.OAuth2UnlinkService : kakao admin-key : f7827e5bb4a42fd97f6226837a0fa99e +2025-02-17T06:31:17.626Z WARN 1 --- [backend] [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-02-17T06:31:17.923Z INFO 1 --- [backend] [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-02-17T06:31:20.882Z INFO 1 --- [backend] [main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 1 endpoint beneath base path '/actuator' +2025-02-17T06:31:22.045Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/swagger-ui/**'], Ant [pattern='/swagger-ui/**']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T06:31:22.055Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/v3/api-docs/**'], Ant [pattern='/v3/api-docs/**']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T06:31:22.061Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/error'], Ant [pattern='/error']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T06:31:22.063Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/favicon.ico'], Ant [pattern='/favicon.ico']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T06:31:26.572Z INFO 1 --- [backend] [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-02-17T06:31:26.695Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : Started BackendApplication in 92.008 seconds (process running for 100.822) +2025-02-17T06:31:36.787Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-02-17T06:31:36.796Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-02-17T06:31:36.804Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 6 ms +2025-02-17T06:31:43.770Z INFO 1 --- [backend] [http-nio-8080-exec-5] o.springdoc.api.AbstractOpenApiResource : Init duration for springdoc-openapi is: 3930 ms +2025-02-17T06:33:22.332Z INFO 1 --- [backend] [http-nio-8080-exec-10] c.b.backend.global.jwt.JwtTokenProvider : JwtTokenProvider.resolveToken: 토큰 분리 eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyQGV4YW1wbGUuY29tIiwidHlwZSI6ImFjY2Vzc1Rva2VuIiwidXNlcklkIjoxLCJyb2xlIjoiVVNFUiIsImlhdCI6MTczOTc3Mzk4MCwiZXhwIjoxNzM5Nzc3NTgwfQ.G5qJ0_x7KpXsLF2SHWW_0yhvZfhmV7000mrLkDBku0Q +2025-02-17T06:33:22.394Z INFO 1 --- [backend] [http-nio-8080-exec-10] c.b.backend.global.jwt.JwtTokenProvider : JwtTokenProvider.parseClaims: 토큰 검증 완료, 파싱 클레임 - {sub=user@example.com, type=accessToken, userId=1, role=USER, iat=1739773980, exp=1739777580} +2025-02-17T06:33:22.399Z INFO 1 --- [backend] [http-nio-8080-exec-10] c.b.backend.global.jwt.JwtTokenProvider : JwtTokenProvider.parseClaims: 토큰 검증 완료, 파싱 클레임 - {sub=user@example.com, type=accessToken, userId=1, role=USER, iat=1739773980, exp=1739777580} +2025-02-17T06:33:22.400Z INFO 1 --- [backend] [http-nio-8080-exec-10] c.b.backend.global.jwt.JwtTokenProvider : JwtTokenProvider.getUserEmail: 토큰 기반 회원 구별 정보(email) 추출 완료 - user@example.com +2025-02-17T06:33:22.402Z INFO 1 --- [backend] [http-nio-8080-exec-10] c.b.b.g.jwt.CustomUserDetailsService : UserDetailsService.loadUserByUsername: username - user@example.com +2025-02-17T06:33:22.485Z INFO 1 --- [backend] [http-nio-8080-exec-10] c.b.b.g.jwt.CustomUserDetailsService : UserDetailsService.loadUserByUsername: username - user@example.com +2025-02-17T06:33:22.486Z INFO 1 --- [backend] [http-nio-8080-exec-10] c.b.backend.global.jwt.JwtTokenProvider : JwtTokenProvider.getAuthentication: userDetails 가져옴 - user@example.com +2025-02-17T06:33:22.495Z INFO 1 --- [backend] [http-nio-8080-exec-10] c.b.backend.global.jwt.JwtTokenProvider : JwtTokenProvider.resolveToken: 토큰 분리 eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyQGV4YW1wbGUuY29tIiwidHlwZSI6ImFjY2Vzc1Rva2VuIiwidXNlcklkIjoxLCJyb2xlIjoiVVNFUiIsImlhdCI6MTczOTc3Mzk4MCwiZXhwIjoxNzM5Nzc3NTgwfQ.G5qJ0_x7KpXsLF2SHWW_0yhvZfhmV7000mrLkDBku0Q +2025-02-17T06:33:22.501Z INFO 1 --- [backend] [http-nio-8080-exec-10] c.b.backend.global.jwt.JwtTokenProvider : JwtTokenProvider.parseClaims: 토큰 검증 완료, 파싱 클레임 - {sub=user@example.com, type=accessToken, userId=1, role=USER, iat=1739773980, exp=1739777580} +2025-02-17T06:33:22.506Z INFO 1 --- [backend] [http-nio-8080-exec-10] c.b.backend.global.jwt.JwtTokenProvider : JwtTokenProvider.parseClaims: 토큰 검증 완료, 파싱 클레임 - {sub=user@example.com, type=accessToken, userId=1, role=USER, iat=1739773980, exp=1739777580} +2025-02-17T06:33:22.507Z INFO 1 --- [backend] [http-nio-8080-exec-10] c.b.backend.global.jwt.JwtTokenProvider : JwtTokenProvider.getUserEmail: 토큰 기반 회원 구별 정보(email) 추출 완료 - user@example.com +2025-02-17T06:33:22.513Z INFO 1 --- [backend] [http-nio-8080-exec-10] c.b.b.g.jwt.CustomUserDetailsService : UserDetailsService.loadUserByUsername: username - user@example.com +2025-02-17T06:33:22.524Z INFO 1 --- [backend] [http-nio-8080-exec-10] c.b.b.g.jwt.CustomUserDetailsService : UserDetailsService.loadUserByUsername: username - user@example.com +2025-02-17T06:33:22.529Z INFO 1 --- [backend] [http-nio-8080-exec-10] c.b.backend.global.jwt.JwtTokenProvider : JwtTokenProvider.getAuthentication: userDetails 가져옴 - user@example.com +2025-02-17T07:06:01.279Z INFO 1 --- [backend] [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-02-17T07:06:01.319Z INFO 1 --- [backend] [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-02-17T07:06:01.357Z INFO 1 --- [backend] [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-02-17T07:07:36.891Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : Starting BackendApplication v0.0.1-SNAPSHOT using Java 21 with PID 1 (/app.jar started by root in /) +2025-02-17T07:07:36.910Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : The following 1 profile is active: "oauth" +2025-02-17T07:07:51.858Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode +2025-02-17T07:07:51.881Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-02-17T07:07:52.226Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data JPA - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.global.redis.RefreshTokenRepository; If you want this repository to be a JPA repository, consider annotating your entities with one of these annotations: jakarta.persistence.Entity, jakarta.persistence.MappedSuperclass (preferred), or consider extending one of the following types with your repository: org.springframework.data.jpa.repository.JpaRepository +2025-02-17T07:07:53.320Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 1382 ms. Found 11 JPA repository interfaces. +2025-02-17T07:07:53.512Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode +2025-02-17T07:07:53.545Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-02-17T07:07:53.727Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.group.repository.GroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:07:53.748Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.review.repository.ReviewRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:07:53.770Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.review.service.ReviewBookRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:07:53.788Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.book.repository.BookRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:07:53.809Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.record.repository.RecordRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:07:53.815Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.record.service.RecordGroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:07:53.824Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.user.repository.UserOAuthRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:07:53.848Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.user.repository.UserRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:07:53.851Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.image.repository.ImageRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:07:53.866Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.userGroup.repository.UserGroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:07:53.893Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.template.repository.TemplateRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:07:53.925Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 320 ms. Found 1 Redis repository interface. +2025-02-17T07:08:03.462Z INFO 1 --- [backend] [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-02-17T07:08:03.652Z INFO 1 --- [backend] [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-02-17T07:08:03.661Z INFO 1 --- [backend] [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-02-17T07:08:04.050Z INFO 1 --- [backend] [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-02-17T07:08:04.063Z INFO 1 --- [backend] [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 26683 ms +2025-02-17T07:08:07.846Z INFO 1 --- [backend] [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-02-17T07:08:08.895Z INFO 1 --- [backend] [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.5.3.Final +2025-02-17T07:08:09.297Z INFO 1 --- [backend] [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-02-17T07:08:12.705Z INFO 1 --- [backend] [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-02-17T07:08:12.959Z INFO 1 --- [backend] [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-02-17T07:08:15.844Z INFO 1 --- [backend] [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@4a8bf1dc +2025-02-17T07:08:15.870Z INFO 1 --- [backend] [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-02-17T07:08:16.350Z WARN 1 --- [backend] [main] org.hibernate.orm.deprecation : HHH90000025: MySQL8Dialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-02-17T07:08:16.357Z WARN 1 --- [backend] [main] org.hibernate.orm.deprecation : HHH90000026: MySQL8Dialect has been deprecated; use org.hibernate.dialect.MySQLDialect instead +2025-02-17T07:08:16.648Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(12, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@7267006e) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@745c8a04) +2025-02-17T07:08:16.657Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(-9, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@59d29065) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@7a13ad55) +2025-02-17T07:08:16.669Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(-3, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@303db609) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@20a116a0) +2025-02-17T07:08:16.677Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4003, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@6dbdeb69) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@a238a8e) +2025-02-17T07:08:16.690Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4001, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@5773f83d) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@7fcfe065) +2025-02-17T07:08:16.707Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4002, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@7d2baa56) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@6b4a2887) +2025-02-17T07:08:16.719Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2004, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@23b087c3) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@237c8718) +2025-02-17T07:08:16.727Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2005, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@325e03b) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@3911fec8) +2025-02-17T07:08:16.746Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2011, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@1e38e8b6) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@59bbf82e) +2025-02-17T07:08:25.102Z INFO 1 --- [backend] [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-02-17T07:08:25.932Z INFO 1 --- [backend] [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-02-17T07:08:28.950Z INFO 1 --- [backend] [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-02-17T07:08:34.020Z INFO 1 --- [backend] [main] c.b.b.global.oauth.OAuth2UnlinkService : kakao admin-key : f7827e5bb4a42fd97f6226837a0fa99e +2025-02-17T07:08:47.607Z WARN 1 --- [backend] [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-02-17T07:08:47.812Z INFO 1 --- [backend] [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-02-17T07:08:50.928Z INFO 1 --- [backend] [main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 1 endpoint beneath base path '/actuator' +2025-02-17T07:08:52.039Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/swagger-ui/**'], Ant [pattern='/swagger-ui/**']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T07:08:52.046Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/v3/api-docs/**'], Ant [pattern='/v3/api-docs/**']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T07:08:52.049Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/error'], Ant [pattern='/error']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T07:08:52.050Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/favicon.ico'], Ant [pattern='/favicon.ico']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T07:08:56.056Z INFO 1 --- [backend] [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-02-17T07:08:56.192Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : Started BackendApplication in 84.959 seconds (process running for 92.376) +2025-02-17T07:08:57.118Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-02-17T07:08:57.121Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-02-17T07:08:57.137Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 12 ms +2025-02-17T07:16:10.344Z INFO 1 --- [backend] [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-02-17T07:16:10.358Z INFO 1 --- [backend] [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-02-17T07:16:10.412Z INFO 1 --- [backend] [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-02-17T07:19:34.378Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : Starting BackendApplication v0.0.1-SNAPSHOT using Java 21 with PID 1 (/app.jar started by root in /) +2025-02-17T07:19:34.492Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : The following 1 profile is active: "oauth" +2025-02-17T07:19:57.381Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode +2025-02-17T07:19:57.398Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-02-17T07:19:58.006Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data JPA - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.global.redis.RefreshTokenRepository; If you want this repository to be a JPA repository, consider annotating your entities with one of these annotations: jakarta.persistence.Entity, jakarta.persistence.MappedSuperclass (preferred), or consider extending one of the following types with your repository: org.springframework.data.jpa.repository.JpaRepository +2025-02-17T07:19:59.645Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 2104 ms. Found 11 JPA repository interfaces. +2025-02-17T07:19:59.849Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode +2025-02-17T07:19:59.881Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-02-17T07:20:00.109Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.group.repository.GroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:20:00.115Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.review.repository.ReviewRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:20:00.128Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.review.service.ReviewBookRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:20:00.131Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.book.repository.BookRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:20:00.160Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.record.repository.RecordRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:20:00.188Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.record.service.RecordGroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:20:00.204Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.user.repository.UserOAuthRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:20:00.214Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.user.repository.UserRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:20:00.229Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.image.repository.ImageRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:20:00.239Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.userGroup.repository.UserGroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:20:00.248Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.template.repository.TemplateRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:20:00.319Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 352 ms. Found 1 Redis repository interface. +2025-02-17T07:20:11.824Z INFO 1 --- [backend] [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-02-17T07:20:11.968Z INFO 1 --- [backend] [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-02-17T07:20:11.979Z INFO 1 --- [backend] [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-02-17T07:20:12.354Z INFO 1 --- [backend] [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-02-17T07:20:12.375Z INFO 1 --- [backend] [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 36861 ms +2025-02-17T07:20:16.409Z INFO 1 --- [backend] [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-02-17T07:20:16.845Z INFO 1 --- [backend] [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.5.3.Final +2025-02-17T07:20:17.078Z INFO 1 --- [backend] [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-02-17T07:20:20.363Z INFO 1 --- [backend] [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-02-17T07:20:20.819Z INFO 1 --- [backend] [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-02-17T07:20:23.740Z INFO 1 --- [backend] [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@10728fe8 +2025-02-17T07:20:23.773Z INFO 1 --- [backend] [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-02-17T07:20:24.591Z WARN 1 --- [backend] [main] org.hibernate.orm.deprecation : HHH90000025: MySQL8Dialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-02-17T07:20:24.629Z WARN 1 --- [backend] [main] org.hibernate.orm.deprecation : HHH90000026: MySQL8Dialect has been deprecated; use org.hibernate.dialect.MySQLDialect instead +2025-02-17T07:20:25.021Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(12, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@37393dab) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@4866a755) +2025-02-17T07:20:25.039Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(-9, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@1361e880) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@3506bc8b) +2025-02-17T07:20:25.049Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(-3, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@4bac0be5) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@368d51ca) +2025-02-17T07:20:25.059Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4003, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@2a349a73) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@2ad6895a) +2025-02-17T07:20:25.068Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4001, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@10e4cc6) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@5d515e2c) +2025-02-17T07:20:25.076Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4002, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@53b8a0f7) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@4d3a7f83) +2025-02-17T07:20:25.085Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2004, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@3ea1729e) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@6956eb58) +2025-02-17T07:20:25.098Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2005, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@7fff419d) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@6127ef86) +2025-02-17T07:20:25.108Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2011, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@542754be) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@af57949) +2025-02-17T07:20:34.737Z INFO 1 --- [backend] [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-02-17T07:20:35.678Z INFO 1 --- [backend] [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-02-17T07:20:38.688Z INFO 1 --- [backend] [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-02-17T07:20:46.703Z INFO 1 --- [backend] [main] c.b.b.global.oauth.OAuth2UnlinkService : kakao admin-key : f7827e5bb4a42fd97f6226837a0fa99e +2025-02-17T07:21:03.644Z WARN 1 --- [backend] [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-02-17T07:21:04.032Z INFO 1 --- [backend] [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-02-17T07:21:06.741Z INFO 1 --- [backend] [main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 1 endpoint beneath base path '/actuator' +2025-02-17T07:21:07.563Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/swagger-ui/**'], Ant [pattern='/swagger-ui/**']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T07:21:07.568Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/v3/api-docs/**'], Ant [pattern='/v3/api-docs/**']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T07:21:07.570Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/error'], Ant [pattern='/error']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T07:21:07.572Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/favicon.ico'], Ant [pattern='/favicon.ico']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T07:21:12.274Z INFO 1 --- [backend] [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-02-17T07:21:12.432Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : Started BackendApplication in 105.067 seconds (process running for 113.078) +2025-02-17T07:21:21.123Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-02-17T07:21:21.125Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-02-17T07:21:21.155Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 18 ms +2025-02-17T07:22:27.672Z INFO 1 --- [backend] [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-02-17T07:22:27.682Z INFO 1 --- [backend] [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-02-17T07:22:27.757Z INFO 1 --- [backend] [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-02-17T07:38:06.908Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : Starting BackendApplication v0.0.1-SNAPSHOT using Java 21 with PID 1 (/app.jar started by root in /) +2025-02-17T07:38:06.982Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : The following 1 profile is active: "oauth" +2025-02-17T07:38:26.333Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode +2025-02-17T07:38:26.347Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-02-17T07:38:26.722Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data JPA - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.global.redis.RefreshTokenRepository; If you want this repository to be a JPA repository, consider annotating your entities with one of these annotations: jakarta.persistence.Entity, jakarta.persistence.MappedSuperclass (preferred), or consider extending one of the following types with your repository: org.springframework.data.jpa.repository.JpaRepository +2025-02-17T07:38:27.940Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 1531 ms. Found 11 JPA repository interfaces. +2025-02-17T07:38:28.061Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode +2025-02-17T07:38:28.085Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-02-17T07:38:28.298Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.group.repository.GroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:38:28.304Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.review.repository.ReviewRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:38:28.327Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.review.service.ReviewBookRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:38:28.342Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.book.repository.BookRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:38:28.349Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.record.repository.RecordRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:38:28.361Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.record.service.RecordGroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:38:28.376Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.user.repository.UserOAuthRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:38:28.385Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.user.repository.UserRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:38:28.412Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.image.repository.ImageRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:38:28.432Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.userGroup.repository.UserGroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:38:28.444Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.template.repository.TemplateRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T07:38:28.554Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 338 ms. Found 1 Redis repository interface. +2025-02-17T07:38:40.313Z INFO 1 --- [backend] [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-02-17T07:38:40.493Z INFO 1 --- [backend] [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-02-17T07:38:40.496Z INFO 1 --- [backend] [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-02-17T07:38:41.001Z INFO 1 --- [backend] [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-02-17T07:38:41.007Z INFO 1 --- [backend] [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 33314 ms +2025-02-17T07:38:44.808Z INFO 1 --- [backend] [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-02-17T07:38:45.435Z INFO 1 --- [backend] [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.5.3.Final +2025-02-17T07:38:45.694Z INFO 1 --- [backend] [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-02-17T07:38:48.733Z INFO 1 --- [backend] [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-02-17T07:38:49.051Z INFO 1 --- [backend] [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-02-17T07:38:52.885Z INFO 1 --- [backend] [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@2f4fc18 +2025-02-17T07:38:52.919Z INFO 1 --- [backend] [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-02-17T07:38:53.592Z WARN 1 --- [backend] [main] org.hibernate.orm.deprecation : HHH90000025: MySQL8Dialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-02-17T07:38:53.623Z WARN 1 --- [backend] [main] org.hibernate.orm.deprecation : HHH90000026: MySQL8Dialect has been deprecated; use org.hibernate.dialect.MySQLDialect instead +2025-02-17T07:38:54.104Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(12, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@412440c1) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@36c45149) +2025-02-17T07:38:54.106Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(-9, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@33f4844b) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@201b52f7) +2025-02-17T07:38:54.121Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(-3, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@435a2c7d) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@57806346) +2025-02-17T07:38:54.134Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4003, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@40416321) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@3ab70d34) +2025-02-17T07:38:54.140Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4001, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@289cf7db) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@7c523bdd) +2025-02-17T07:38:54.142Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4002, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@3741071d) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@351d726c) +2025-02-17T07:38:54.146Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2004, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@7af0693b) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@1791396b) +2025-02-17T07:38:54.162Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2005, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@28d7bd6b) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@7607340f) +2025-02-17T07:38:54.171Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2011, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@f472245) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@110318a7) +2025-02-17T07:39:04.932Z INFO 1 --- [backend] [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-02-17T07:39:05.984Z INFO 1 --- [backend] [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-02-17T07:39:09.114Z INFO 1 --- [backend] [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-02-17T07:39:16.435Z INFO 1 --- [backend] [main] c.b.b.global.oauth.OAuth2UnlinkService : kakao admin-key : f7827e5bb4a42fd97f6226837a0fa99e +2025-02-17T07:39:29.810Z WARN 1 --- [backend] [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-02-17T07:39:30.133Z INFO 1 --- [backend] [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-02-17T07:39:33.916Z INFO 1 --- [backend] [main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 4 endpoints beneath base path '/actuator' +2025-02-17T07:39:35.375Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/swagger-ui/**'], Ant [pattern='/swagger-ui/**']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T07:39:35.379Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/v3/api-docs/**'], Ant [pattern='/v3/api-docs/**']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T07:39:35.398Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/error'], Ant [pattern='/error']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T07:39:35.404Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/favicon.ico'], Ant [pattern='/favicon.ico']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T07:39:39.043Z INFO 1 --- [backend] [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-02-17T07:39:39.265Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : Started BackendApplication in 99.204 seconds (process running for 105.999) +2025-02-17T07:39:53.123Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-02-17T07:39:53.126Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-02-17T07:39:53.143Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 14 ms +2025-02-17T08:05:31.179Z INFO 1 --- [backend] [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-02-17T08:05:31.238Z INFO 1 --- [backend] [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-02-17T08:05:31.350Z INFO 1 --- [backend] [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. +2025-02-17T08:06:29.209Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : Starting BackendApplication v0.0.1-SNAPSHOT using Java 21 with PID 1 (/app.jar started by root in /) +2025-02-17T08:06:29.233Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : The following 1 profile is active: "oauth" +2025-02-17T08:06:51.170Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode +2025-02-17T08:06:51.185Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-02-17T08:06:51.699Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data JPA - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.global.redis.RefreshTokenRepository; If you want this repository to be a JPA repository, consider annotating your entities with one of these annotations: jakarta.persistence.Entity, jakarta.persistence.MappedSuperclass (preferred), or consider extending one of the following types with your repository: org.springframework.data.jpa.repository.JpaRepository +2025-02-17T08:06:53.308Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 2061 ms. Found 11 JPA repository interfaces. +2025-02-17T08:06:53.620Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode +2025-02-17T08:06:53.659Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-02-17T08:06:53.848Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.group.repository.GroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T08:06:53.861Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.review.repository.ReviewRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T08:06:53.863Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.review.service.ReviewBookRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T08:06:53.871Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.book.repository.BookRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T08:06:53.886Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.record.repository.RecordRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T08:06:53.899Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.record.service.RecordGroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T08:06:53.909Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.user.repository.UserOAuthRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T08:06:53.931Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.user.repository.UserRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T08:06:53.938Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.image.repository.ImageRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T08:06:53.968Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.userGroup.repository.UserGroupRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T08:06:53.976Z INFO 1 --- [backend] [main] .RepositoryConfigurationExtensionSupport : Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.bookmile.backend.domain.template.repository.TemplateRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-02-17T08:06:54.026Z INFO 1 --- [backend] [main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 222 ms. Found 1 Redis repository interface. +2025-02-17T08:07:06.013Z INFO 1 --- [backend] [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) +2025-02-17T08:07:06.213Z INFO 1 --- [backend] [main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +2025-02-17T08:07:06.227Z INFO 1 --- [backend] [main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-02-17T08:07:06.623Z INFO 1 --- [backend] [main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +2025-02-17T08:07:06.632Z INFO 1 --- [backend] [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 36407 ms +2025-02-17T08:07:11.600Z INFO 1 --- [backend] [main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] +2025-02-17T08:07:12.644Z INFO 1 --- [backend] [main] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.5.3.Final +2025-02-17T08:07:13.014Z INFO 1 --- [backend] [main] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled +2025-02-17T08:07:16.696Z INFO 1 --- [backend] [main] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer +2025-02-17T08:07:16.971Z INFO 1 --- [backend] [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... +2025-02-17T08:07:20.097Z INFO 1 --- [backend] [main] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@1d6a0962 +2025-02-17T08:07:20.175Z INFO 1 --- [backend] [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. +2025-02-17T08:07:20.771Z WARN 1 --- [backend] [main] org.hibernate.orm.deprecation : HHH90000025: MySQL8Dialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-02-17T08:07:20.789Z WARN 1 --- [backend] [main] org.hibernate.orm.deprecation : HHH90000026: MySQL8Dialect has been deprecated; use org.hibernate.dialect.MySQLDialect instead +2025-02-17T08:07:21.004Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(12, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@417b3642) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@6bd28e4a) +2025-02-17T08:07:21.009Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(-9, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@55e88bc) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@544300a6) +2025-02-17T08:07:21.024Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(-3, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@4c12f54a) replaced previous registration(org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@334d825c) +2025-02-17T08:07:21.042Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4003, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@42a7e7e1) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@e2d9923) +2025-02-17T08:07:21.047Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4001, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@554e9509) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@acea29e) +2025-02-17T08:07:21.064Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(4002, org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@772bc4c9) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@152dbf8e) +2025-02-17T08:07:21.071Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2004, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@34ea86ff) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@4bcf08ae) +2025-02-17T08:07:21.075Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2005, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@626b9092) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@1ac2829e) +2025-02-17T08:07:21.088Z DEBUG 1 --- [backend] [main] o.h.t.d.sql.spi.DdlTypeRegistry : addDescriptor(2011, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@7a7f2247) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@4946dfde) +2025-02-17T08:07:35.199Z INFO 1 --- [backend] [main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-02-17T08:07:36.010Z INFO 1 --- [backend] [main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-02-17T08:07:39.120Z INFO 1 --- [backend] [main] o.s.d.j.r.query.QueryEnhancerFactory : Hibernate is in classpath; If applicable, HQL parser will be used. +2025-02-17T08:07:46.257Z INFO 1 --- [backend] [main] c.b.b.global.oauth.OAuth2UnlinkService : kakao admin-key : f7827e5bb4a42fd97f6226837a0fa99e +2025-02-17T08:08:02.372Z WARN 1 --- [backend] [main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-02-17T08:08:02.647Z INFO 1 --- [backend] [main] r$InitializeUserDetailsManagerConfigurer : Global AuthenticationManager configured with UserDetailsService bean with name customUserDetailsService +2025-02-17T08:08:07.217Z INFO 1 --- [backend] [main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 4 endpoints beneath base path '/actuator' +2025-02-17T08:08:08.309Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/swagger-ui/**'], Ant [pattern='/swagger-ui/**']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T08:08:08.354Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/v3/api-docs/**'], Ant [pattern='/v3/api-docs/**']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T08:08:08.372Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/error'], Ant [pattern='/error']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T08:08:08.385Z WARN 1 --- [backend] [main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Deferred [Mvc [pattern='/favicon.ico'], Ant [pattern='/favicon.ico']]. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. +2025-02-17T08:08:13.706Z INFO 1 --- [backend] [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' +2025-02-17T08:08:13.901Z INFO 1 --- [backend] [main] c.bookmile.backend.BackendApplication : Started BackendApplication in 112.559 seconds (process running for 121.982) +2025-02-17T08:08:19.716Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-02-17T08:08:19.719Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +2025-02-17T08:08:19.725Z INFO 1 --- [backend] [http-nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 5 ms +2025-02-17T08:13:18.746Z INFO 1 --- [backend] [SpringApplicationShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' +2025-02-17T08:13:18.764Z INFO 1 --- [backend] [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... +2025-02-17T08:13:18.850Z INFO 1 --- [backend] [SpringApplicationShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. diff --git a/monitoring/filebeat.yml b/monitoring/filebeat.yml index e6e35cb..a2b2b3a 100644 --- a/monitoring/filebeat.yml +++ b/monitoring/filebeat.yml @@ -5,7 +5,7 @@ filebeat.inputs: - /var/log/book-mile/*.log fields: service: book-mile - json.keys_under_root: true + json.keys_under_root: false json.add_error_key: true output.logstash: