* spring.profiles.active 설정파일 불러오기(*.properties)
1) /resources/application.properties
#기본적으로 공통되는 설정 정보
#불러올 설정정보
spring.profiles.active=dev
#log4jdbc적용후
spring.datasource.hikari.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
#디비정보
spring.datasource.hikari.connection-test-query=SELECT 1
mybatis.configuration.map-underscore-to-camel-case=true
#파일업로드
spring.servlet.multipart.enabled=true
spring.servlet.multipart.location=/upload/images/
spring.servlet.multipart.max-request-size=30MB
spring.servlet.multipart.max-file-size=5MB
#resp api 필터 활성화
spring.mvc.hiddenmethod.filter.enabled=true
#thymeleaf 설정
spring.thymeleaf.check-template-location=true
spring.thymeleaf.prefix=classpath:/templates/
2) /resources/application-dev.properties
#로컬에서 쓸 정보
#디비정보
spring.datasource.hikari.jdbc-url=jdbc:log4jdbc:mysql://127.0.0.1:3306/web_db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.hikari.username=test
spring.datasource.hikari.password=test123
#파일업로드 경로
part4.upload.path=C:/upload/images/
3) /resources/application-prod.properties
#실운영에서 쓸정보
#디비정보
spring.datasource.hikari.jdbc-url=jdbc:log4jdbc:mysql://127.0.0.1:3306/web_db?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.hikari.username=test
spring.datasource.hikari.password=test123
#파일업로드 경로
part4.upload.path=/upload/images/
* 설정한 profile에 따라 로그 설정하기
- /resources/logback-spring.xml
properties에서 설정한 spring.profiles.active=dev
아래부분 추가해서 개발과 운영에 로그 레벨 차이 준다
<!--개발, dev는 프로파일 따라간다-->
<springProfile name="dev">
<!--운영, prod는 프로파일 따라간다-->
<springProfile name="prod">
<?xml version="1.0" encoding="UTF-8" ?>
<configuration level="debug">
<!-- 변수 지정 -->
<property name="LOG_DIR" value="/logs" />
<property name="LOG_PATH_NAME" value="${LOG_DIR}/data.log" />
<!--appender는 로그를 어디에 출력할지 결정(콘솔,파일기록,DB저장등)-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%kvp- %msg%n</pattern>-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5p] [%F]%M\(%L\) : %m%n</pattern>
</encoder>
</appender>
<appender name="console-infolog" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d %-5p %m%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH_NAME}</File>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5p] [%F]%M\(%L\) : %m%n</pattern>
</encoder>
<!-- 일자별로 로그파일 적용하기 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_PATH_NAME}.%d{yyyyMMdd}</fileNamePattern>
<maxFileSize>20MB</maxFileSize>
<maxHistory>50</maxHistory> <!-- 일자별 백업파일의 보관기간 -->
<totalSizeCap>1000MB</totalSizeCap>
</rollingPolicy>
</appender>
<!--로거는 로그를 출력하는 ㅇ소로 Level 속성을 통해서 출력할 로그의 레벨을 조절하여 appender에 전달-->
<!-- debug레벨의 로그를 출력하는 형식은 console이라는 이름의 appender 사용 -->
<!--개발, dev는 프로파일 따라간다-->
<springProfile name="dev">
<logger name="board" level="DEBUG" appender-ref="console"/>
<logger name="jdbc.sqlonly" level="INFO" appender-ref="console-infolog"/>
<logger name="jdbc.resultsettable" level="INFO" appender-ref="console-infolog"/>
</springProfile>
<!--운영, prod는 프로파일 따라간다-->
<springProfile name="prod">
<logger name="board" level="ERROR" appender-ref="console"/>
</springProfile>
<!--루트로거-->
<root level="off">
<appender-ref ref="console" />
<appender-ref ref="FILE" />
</root>
</configuration>
'SpringBoot > (책)스프링부트 시작하기' 카테고리의 다른 글
[springboot] 16-2. spring.profiles.active 설정파일 불러오기 (.yml) (0) | 2023.05.10 |
---|---|
[springboot] 16-2. spring.profiles.active 설정파일 불러오기 (.yml) (0) | 2023.05.09 |
[springboot] 15. 스웨거 (1) | 2023.05.09 |
[springboot] 14. 스프링 데이터 jpa 3(repository작성) (0) | 2023.05.06 |
[springboot] 14. 스프링 데이터 jpa 2(엔티티 생성하기) (0) | 2023.05.06 |