[로그 기능 추가] HttpLoggingFilter를 구현하여 HTTP 요청 및 응답 로깅 기능을 추가하고, MemberController에서 회원 등록 API에 LogExecution 어노테이션을 적용하여 실행 로그를 기록하도록 수정

This commit is contained in:
sohot8653
2025-08-15 00:53:17 +09:00
parent baab0352d5
commit 0f1c5443ea
7 changed files with 387 additions and 86 deletions

View File

@@ -1,60 +1,92 @@
# ========================================
# 기본 애플리케이션 설정
# ========================================
server.port=8080
server.servlet.context-path=/service
spring.application.name=bio_backend
spring.output.ansi.enabled=always
# ========================================
# 개발 도구 설정
# ========================================
spring.devtools.livereload.enabled=true
#spring.devtools.restart.poll-interval=2000
# 추가로 감시할 경로 (자바 소스 폴더)
spring.devtools.restart.additional-paths=src/main/java
# 데이터베이스 연결 정보
# URL 형식: jdbc:postgresql://[호스트명]:[포트번호]/[데이터베이스명]
# ========================================
# 데이터베이스 설정
# ========================================
spring.datasource.url=jdbc:postgresql://stam.kr:15432/imas
spring.datasource.username=imas_user
spring.datasource.password=stam1201
spring.datasource.driver-class-name=org.postgresql.Driver
# ========================================
# JPA/Hibernate 설정
# ddl-auto: 엔티티(Entity)에 맞춰 데이터베이스 스키마를 자동 생성/업데이트합니다.
# - create: 애플리케이션 시작 시 기존 스키마를 삭제하고 새로 생성 (개발용)
# - create-drop: 시작 시 생성, 종료 시 삭제 (테스트용)
# - update: 엔티티 변경 시 스키마 업데이트 (개발용)
# - validate: 엔티티와 스키마 일치 여부만 검증 (운영용)
# - none: 아무 작업도 하지 않음
# ========================================
spring.jpa.hibernate.ddl-auto=none
spring.jpa.properties.javax.persistence.schema-generation.scripts.action=create
spring.jpa.properties.javax.persistence.schema-generation.scripts.create-target=ddl/schema.sql
spring.jpa.properties.hibernate.hbm2ddl.schema-generation.script.append=false
# Hibernate log
spring.jpa.open-in-view=false
spring.jpa.show-sql=false
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.highlight_sql=true
spring.jpa.properties.hibernate.use_sql_comments=false
# 스키마 생성 설정
spring.jpa.properties.javax.persistence.schema-generation.scripts.action=create
spring.jpa.properties.javax.persistence.schema-generation.scripts.create-target=ddl/schema.sql
spring.jpa.properties.hibernate.hbm2ddl.schema-generation.script.append=false
# ========================================
# 로그 레벨 설정
# ========================================
# 전체 애플리케이션 기본 로그 레벨
logging.level.root=INFO
# 프로젝트 패키지 로그 레벨
logging.level.com.bio.bio_backend=DEBUG
# 세부 패키지별 로그 레벨
logging.level.com.bio.bio_backend..*.controller=INFO
logging.level.com.bio.bio_backend..*.service=DEBUG
logging.level.com.bio.bio_backend..*.repository=DEBUG
logging.level.com.bio.bio_backend.global.aop=DEBUG
logging.level.com.bio.bio_backend.global.filter=INFO
# JPA/Hibernate 로깅
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.orm.jdbc.bind=TRACE
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
logging.level.org.springframework.data.jpa=DEBUG
logging.level.org.springframework.orm.jpa=INFO
logging.level.org.springframework.transaction=DEBUG
# Open Session in View 설정 (권장: false)
spring.jpa.open-in-view=false
# Spring Framework 로깅
logging.level.org.springframework.web=WARN
logging.level.org.springframework.web.servlet.DispatcherServlet=WARN
logging.level.org.springframework.security=INFO
# P6Spy
# ========================================
# 로그 패턴 설정
# ========================================
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
# ========================================
# P6Spy 설정 (SQL 로깅)
# ========================================
decorator.datasource.p6spy.enable-logging=true
decorator.datasource.p6spy.log-format=%(sqlSingleLine)
# CONSOLE
spring.output.ansi.enabled=always
# HikariCP 연결 풀 크기 설정 (선택사항)
# spring.datasource.hikari.maximum-pool-size=10
##JWT 설정
## access : 30분 / refresh : 7일
# ========================================
# JWT 설정
# ========================================
token.expiration_time_access=180000
token.expiration_time_refresh=604800000
token.secret_key= c3RhbV9qd3Rfc2VjcmV0X3Rva2Vuc3RhbV9qd3Rfc2VjcmV0X3Rva2Vu
token.secret_key=c3RhbV9qd3Rfc2VjcmV0X3Rva2Vuc3RhbV9qd3Rfc2VjcmV0X3RhbV9qd3Rfc2VjcmV0X3Rva2Vu
# ========================================
# Swagger 설정
# ========================================
springdoc.api-docs.path=/api-docs
springdoc.swagger-ui.path=/swagger-ui.html
springdoc.swagger-ui.operationsSorter=method