Files
bio_backend/src/main/resources/application.properties

158 lines
5.9 KiB
Properties

# ========================================
# 기본 애플리케이션 설정
# ========================================
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.additional-paths=src/main/java
# ========================================
# 데이터베이스 설정
# ========================================
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
# 운영 환경 변수 설정 필요
# spring.datasource.url=${DB_URL:}
# spring.datasource.username=${DB_USERNAME:}
# spring.datasource.password=${DB_PASSWORD:}
# ========================================
# JPA/Hibernate 설정
# ========================================
# 개발 환경 설정
spring.jpa.hibernate.ddl-auto=none
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.hibernate.default_batch_fetch_size=100
spring.jpa.properties.hibernate.jdbc.batch_size=100
spring.jpa.properties.hibernate.order_inserts=true
spring.jpa.properties.hibernate.order_updates=true
# 스키마 생성 설정
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
# Spring Framework 로깅
logging.level.org.springframework.web=WARN
logging.level.org.springframework.web.servlet.DispatcherServlet=WARN
logging.level.org.springframework.security=INFO
# ========================================
# 로그 패턴 설정
# ========================================
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)
# ========================================
# JWT 설정
# ========================================
token.expiration_time_access=900000
token.expiration_time_refresh=86400000
token.secret_key=c3RhbV9qd3Rfc2VjcmV0X3Rva2Vuc3RhbV9qd3Rfc2VjcmV0X3RhbV9qd3Rfc2VjcmV0X3RhbV9qd3Rfc2VjcmV0X3Rva2Vu
# 운영 환경 변수 설정 필요
# token.secret_key=${JWT_SECRET_KEY:}
# ========================================
# Swagger 설정
# ========================================
springdoc.api-docs.path=/api-docs
springdoc.swagger-ui.path=/swagger-ui.html
springdoc.swagger-ui.operationsSorter=method
springdoc.swagger-ui.tagsSorter=alpha
springdoc.swagger-ui.doc-expansion=none
springdoc.swagger-ui.disable-swagger-default-url=true
springdoc.default-produces-media-type=application/json
springdoc.default-consumes-media-type=application/json
# ========================================
# 보안 설정 - 허용할 경로
security.permit-all-paths=/login,/members/register,/swagger-ui/**,/swagger-ui.html,/swagger-ui/index.html,/api-docs,/api-docs/**,/v3/api-docs,/v3/api-docs/**,/ws/**,/actuator/**,/actuator/health/**,/actuator/info
# 파일 업로드 설정
# ========================================
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
spring.servlet.multipart.file-size-threshold=2KB
# 파일 저장 경로 설정
app.file.upload.path=./uploads/
# ========================================
# Spring Boot Actuator 설정
# ========================================
# Actuator 엔드포인트 활성화
management.endpoints.web.exposure.include=health,info,metrics,env,configprops
management.endpoint.health.show-details=always
management.endpoint.health.show-components=always
# Health 체크 상세 정보 표시
management.health.db.enabled=true
management.health.diskspace.enabled=true
management.health.defaults.enabled=true
# Actuator 기본 경로 설정
management.endpoints.web.base-path=/actuator
# Health 체크 타임아웃 설정 (밀리초)
management.health.defaults.timeout=10s
# 커스텀 Health 체크 그룹 설정
management.health.groups.readiness.include=db,diskSpace
management.health.groups.liveness.include=ping
# ========================================
# 애플리케이션 정보 설정 (Actuator info 엔드포인트용)
# ========================================
info.app.name=Bio Backend Service
info.app.description=생물학 연구를 위한 백엔드 서비스
info.app.version=@project.version@
info.app.java.version=@java.version@
info.app.spring-boot.version=@spring-boot.version@