โ Springboot console ๋ก๊ทธ๋ฅผ ์๋ฆ๋ต๊ฒ ๊พธ๋ฉฐ๋ณด์application.properties์ logging.pattern.console=xxxx์ค์ ์ ํ๋ฉด ํ์์ผ๋ก๋ง ๋์จ๋ค.. ์์์ ์ ํ๋ณด์1. ANISI ์์์ ๋ณผ์ ์๋๋ก ์ ํ (application.yml)spring: output: ansi: enabled: always2. logging patter ์ ์์ ์ ํ๊ธฐ (application.yml)logging: level: org.sample: DEBUG pattern: console: "[%clr(%X{request_id:-startup}){cyan}] %d{yyyy-MM-dd HH:mm:ss.SSS} %clr(%5p){FATAL=red, ERROR=..
โ AOP๋ฅผ ์ฌ์ฉํ์ฌ custom Annotation์ Log๋ง ์ถ๋ ฅํ๊ธฐ์ด์์ ํ๋ค๋ณด๋ฉด ์๋น์ค๊ฐ ์ด์์๋์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ด ์๋์๋์ง ์ฒดํฌ๋ฅผ ํ๋๋ฐ ํด๋น ์ด๋ ฅ๋ค์ ๋ก๊ทธ์์ ์ ์ธํ๊ณ ์ํ๋ ๋ฉ์๋๋ง ๋ก๊ทธ๋ก ๋จ๊ธฐ๊ณ ์ถ์๋ ์ฌ์ฉํ๋ฉด ๋๋ค.Custom Annotaion์ ๋ง๋ค๊ธฐ@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface LoggerTarget {}LoggerTarget ์ด๋ผ๋ ์ด๋ฆ์ผ๋ก Annotation์ ๋ง๋ค์ด์คฌ๋ค. ๋ฉ์๋์์ญ์ด๊ณ ๋ฐํ์๋ฒ์๊น์ง ๋๋๋ก ๋ง๋ค์ด์ค๋ค.โ AOP ์ค์ ํ๊ธฐ@Aspect@Component@Slf4jpublic class LoggingAspect { private final Stri..
โ Spring MDC๋ฅผ ์ฌ์ฉํด ์๋ณ๊ฐ๋ฅํ ๋ก๊ทธ ๋จ๊ธฐ๊ธฐ์ด์์ ํ๋ค ๋ณด๋ฉด ๋ก๊ทธ๋ฅผ ์ถ์ ํด์ ํ์ธํด์ผ ํ ๋๊ฐ ์๊ธฐ๋๋ฐ ์ฌ๋ฌ ์์ฒญ์ด ํ๊บผ๋ฒ์ ๋ค์ด์ค๋ฉด ๋ก๊ทธ๊ฐ ์์ ์์ด ์์ฌ ํ์ธํ๊ธฐ ์ด๋ ค์ธ๋๊ฐ ์์ต๋๋ค. ์ด๋ด๋ ์์ฒญ๋น ์ ๋ํฌํ ๊ฐ์ ์ฃผ์ด ๋ก๊ทธ์ ํจ๊ป ์ถ๋ ฅํจ์ผ๋ก์จ ์ถ์ ํ ์ ์์ต๋๋ค.MDC (Mapped Diagnostic Context)- ๋ฉํฐ ์ฐ๋ ๋ํ๊ฒฝ์์ ํ์ฌ ์คํ์ค์ธ ์ฐ๋ ๋์ ๋ฉํ ์ ๋ณด๋ฅผ ๋ฃ๊ณ ๊ด๋ฆฌํ๋ ๊ณต๊ฐ์ ๋๋ค. ๋ด๋ถ์ ์ผ๋ก Map์ผ๋ก ๊ด๋ฆฌํ๊ณ ์๊ณ ThreadLocal์ ํค ๊ฐ์ ์ ์ฅํ์ฌ Thread๊ฐ ์กด์ฌํ๋ ๋์ ๊ณ์ ์ฌ์ฉํ ์ ์๊ฒ ํฉ๋๋ค. โ MDC ํํฐ์ ๊ตฌํํ๊ธฐ@Component@Order(Ordered.HIGHEST_PRECEDENCE)public class MDCLoggingFilter imp..
โ Springboot graceful shutdown ์ ์ฉํ๊ธฐ์๋ฒ์ ์๋น์ค๋ฅผ ๋ฐ์ ํ ๋ ์๋น์ค๋ฅผ ์ข ๋ฃ์ฒ๋ฆฌํด์ผํ๋๋ฐ ์ข ๋ฃ ์์ ์ ์ด๋ฏธ ์ธ์ ๋ ์์ฒญ๋ค์ ์ฒ๋ฆฌ ํ๊ณ ์ข ๋ฃ๋๋๋ก graceful shutdown์ ์ ์ฉํด๋ณด์. (springboot 2.3 ์ด์๋ถํฐ graceful shutdown ์ง์) โ application.yaml ์ถ๊ฐ## springboot application.yaml ์์ ## graceful shutdown์ ์ผ๋งํผ ๋๊ธฐํ๋๋ก ํ ์ง ์ ํ spring: lifecycle: timeout-per-shutdown-phase: 10s server: shutdown: graceful์๊ธฐ ๊น์ง ์ ํ ์ ํ์ผ๋ฉด graceful shutdown์ด ์ ์ฉ ๋๊ฑฐ๋ค.ํ์ง๋ง ์๋ฒ์์ kill..
โ Springboot ์ฝ์ ๋ฐฐ๋ ๋ณ๊ฒฝ์คํ๋ง๋ถํธ ์ํ๋ ์ด์ผ์ด์ ์์ ์ ๋ฐฐ๋๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.์๋ ์ฌ์ดํธ์ ์ ์ํ์ฌ ์ํ๋ ๋ฌธ๊ตฌ๋ฅผ ์์ฑ ํ resources/banner.txt ํ์ผ์ ์์ฑ๋ ๋ฌธ์์ด์ ๋ฃ์ด์ค๋๋ค.https://devops.datenkollektiv.de/banner.txt/index.html Spring Boot banner.txt generator devops.datenkollektiv.deํ ์คํธ ์์ ๋ณ๊ฒฝbanner.txt ํ์ผ์ ๋ผ์ธ ์ ์ผ ์์ ${AnsiColor.RED} ์ด๋ฐ์์ผ๋ก ์์ ์ค์์์ต๋๋ค. banner.txt์ ๋ค์ด๊ฐ ์์ฑ๋ค${application.formatted-version} : (v1.0.0)${application.title} : myAppTitle${ap..
โ [Springboot] Jasypt ์ค์น ๋ฐ ์ค์ 1. Jasypt ์ค์น์ธ๋ถ์ ๊ณต๊ฐ๋๋ฉด ์๋๋ ์ ๋ณด๋ค์ ์๋ณตํธํ ํด์ผํ ๊ฒฝ์ฐ Jasypt๋ฅผ ์ด์ฉํ์ฌ ์๋ณตํธํ๋ฅผ ์ ์ฉํฉ๋๋ค. ์ฐ์ ์๋ณตํธํ๋ฅผ ํ๊ธฐ ์ํ Jasypt ๋ค์ดhttp://www.jasypt.org/download.html Jasypt: Java simplified encryption - Jasypt: Java simplified encryption - DownloadDownload Jasypt Current version: 1.9.3 (May 25th, 2019) [WHAT'S NEW IN JASYPT 1.9] DOWNLOAD JASYPT (from GitHub) If you are using Maven for building your proje..
โ MyBatis์ ResultHandler๋ฅผ ํตํด POI SXSSF๋ก ๋์ฉ๋ ์์ ํ์ผ ๋ง๋ค๊ธฐ๊ฐ๋ฐํ๊ฒฝSpringBoot 2.6.2JAVA 1.8Gradle 7.3.2IntelliJ์ ์ฐ ๋ฐ์ดํฐ๋ฅผ ์์ ํ์ผ๋ก ๋ง๋๋ ๊ณผ์ ์์ ์ ์ ๊ฑด์๋ฅผ ๋ง๋ค๋๋ ์ด์๊ฐ ์์์ง๋ง ๋ช์ญ๋ง ๊ฑด ๋๋ ๋ช๋ฐฑ๋ง๊ฑด์ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ์ ํธ์ถํ๊ฒ ๋๋ฉด์ OOM์ ๋ง๋๊ฒ ๋์ด ์์ ํ์ผ๋ก ์ ์ฅ์ ํ ์๊ฐ ์์์ต๋๋ค. MyBatis๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด MyBatis์์ ์ ๊ณตํ๋ ResultHandler๋ฅผ ์ด์ฉํ๋ฉด ๋ช๋ฐฑ๋ง๊ฑด์ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ์ ํธ์ถํ์ง ์๊ณ ๋ ์ฝ๋๋ณ๋ก ๋ค๋ฃฐ์ ์์ต๋๋ค.https://mybatis.org/mybatis-3/ko/java-api.html#SqlSession (์๋ ResultHandler ์ฐธ๊ณ )๋ค์์ ๊ฐ์ง๊ณ ์จ ๋ฐ์ดํฐ์ ์ ์ฅ..
โ Gradle Multi Module ํ๋ก์ ํธ ์ ํ ๋ฐ ๋น๋๊ฐ๋ฐ ํ๊ฒฝSpringBoot 2.4.5Java 1.8Gradle 6.8.3IntelliJํ๋ก์ ํธ ๊ตฌ์ฑmulti-module-sampleโโโ multi-core-libโโโ multi-schedulerโโโ multi-webโโโ gradlemulti-module-sample (Root Project)multi-core-lib : scheduler, web์ ๊ณตํต์ผ๋ก ๋ค์ด๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌmulti-scheduler : scheduler ์๋น์ค ํ๋ก์ ํธmulti-web : web ์๋น์ค ํ๋ก์ ํธgradle : Root Project gradleRoot Project ๋ฐ Sub Project(๋ชจ๋) ๋ง๋ค๊ธฐRoot Project ๋ง๋ค๊ธฐSub Projec..
- Total
- Today
- Yesterday
- git user.gmail
- ๊ฐ์ฒด ์งํฅ ์ค๊ณ ์์น
- ๋์์ธํจํด ๋จ์
- ๋งฅ๋ฆฐ์ด ์ฑ ์ถ์ฒ
- ๋์์ธํจํด ์ฅ์
- git name
- ๊ฐ์ฒด์งํฅ์ค๊ณ solid
- ๋งฅ ์ฑ ์ถ์ฒ
- git gmail
- ๋์์ธํจํด ์ฅ๋จ์
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |