Logging
๋ก๊น ์ด๋ ํ๋ก๊ทธ๋จ ์คํ ์ค์ ๋ฐ์ํ๋ ์ค๋ฅ์ ๋ํด ๋๋ฒ๊น ํ๊ฑฐ๋ ์ด์ ์ค์ธ ํ๋ก๊ทธ๋จ์ ๋ชจ๋ํฐ๋ง ํ๊ธฐ ์ํด ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํ๋ ๊ฒ. ์ฝ์์ ์ถ๋ ฅํ๊ฑฐ๋ ํ์ผ ๋ฑ์ ์ ๋ฌํ์ฌ ์ ์ฅํ๋ ํ์
SLF4J
ํ ๋ค์์ Simple Logging Facade for Java (SLF4J) ๋ผ๋ ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด ๋ก๊น ์ ๋ํ ์ถ์ํ(์ธํฐํ์ด์ค) ์ญํ ์ ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ์ด๋ฆ์์๋ถํฐ Facade๊ฐ ๋ค์ด๊ฐ์๋ค. ์ฆ, Facade๋ฅผ ํตํด์ ํด๋ผ์ด์ธํธ ์ฝ๋์์๋ ์ค์ ๊ตฌํ์ ๋ชจ๋ฅด๊ณ ๋ก๊น ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
Facade Pattern
Facade๋ ๊ฑด์ถ์์ ๊ฑด๋ฌผ ์ธ๊ด์ด๋ผ๋ ๋ป์ผ๋ก ์ฌ์ฉ๋๋ ์ฉ์ด์ด๋ค. ์ด์๊ฐ์ด ๋ด๋ถ์ ์ผ๋ก ๋ณต์กํ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ฃผ๋ ์์ ์์ค์ ์ธํฐํ์ด์ค ์ญํ ์ ํ๋ ๊ฐ์ฒด๊ฐ ์๋ ํจํด์ด๋ค.
์ด์ ๊ฐ์ด ์ฝ๋ ์์์๋ ๋ณต์กํ ์๋ธ์์คํ ์ ์ธ๋ถ์์ ๊ฐ์ธ๊ณ ์๋ ๋๋์ด๋ค. ๊ณ์ข๋ฅผ ๋ถ์ํด์ฃผ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋, ๋ฐ๋ก ๊ธฐ๋ฅ์ ๊ตฌํํ์ง ์๊ณ , anylze()๋ผ๋ ๋ฉ์๋๋ฅผ ํตํด์ ์คํ์ ์์ผฐ์๋ค. ์ด๋ analyze๊ฐ ์ ๋ฉด์์ ์ธํฐํ์ด์ค ์ญํ ์ ํด์ฃผ์๋ค. ์ค์ analyze() ๋ด๋ถ ๋ก์ง์์ ํ์๊ฐ ์คํ๋๊ณ ์ ํจ์ฑ ๊ฒ์ฌ ๋ฑ์ ํ๋ ๋ก์ง์ด ๋์๊ฐ๊ฒ ๋์๋ค.
์ด ํจํด์ ํตํด ๋ณต์ก์ฑ์ ์ค์ด๊ณ ์์กด์ฑ์ ๋ฎ์ถ ์ ์๋ค.
SLF4J์์ ์ฌ์ฉ๋๋ Facade Pattern
SLF4J์์ facade์ญํ ์ ํ๋ ์ธํฐํ์ด์ค๋ ๋ฌด์์ผ๊น? ๋ฐ๋ก logger ๊ฐ์ฒด์ด๋ค. ๊ทธ๋์ ๊ตฌํ๋ถ์ ์๊ด์์ด logging ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ค. ์ค์ ๋ก SLF4J๋ logback ๋ฑ ํจํค์ง ์์ ๋ค๋ฅธ ๋ชจ๋์ ํฌํจํ๊ณ ์๋ค.
Client ํด๋์ค๋ Subsystem์ธ ํ์ ๊ฐ์ฒด์ ์ง์ ์ ๊ทผํ์ง ์๊ณ Facade ๊ฐ์ฒด์๋ง ์ ๊ทผํ๋ค. Client๋ Facade ์ธํฐํ์ด์ค์๋ง ์์กดํ๊ณ ๋ณต์กํ ํ์ ์์คํ ๊ณผ๋ ๋ ๋ฆฝ์ ์ด๋ค.
์ ์ํ์ค ๋ค์ด์ด๊ทธ๋จ์ ํตํด์ ๋ฐํ์์ Client ์ Facade์ ์ํธ์์ฉ์ ๋ณผ ์ ์๋ค.
SLF4J ๋์๊ณผ์
- SLF4J API๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊น ์ฝ๋๋ฅผ ์์ฑํ๋ค
- ๋ฐฐํฌํ ๋, ๋ฐ์ธ๋ฉ ๋ ๋ก๊น ํ๋ ์์ํฌ๊ฐ ์ค์ ๋ก๊น ์ฝ๋๋ฅผ ์ํํ๋ค.
์ฐธ๊ณ ์๋ฃ
'๐งProgramming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Servlet (0) | 2024.01.19 |
---|---|
Java๊ฐ ํ์ผ์ ์ฝ๋๋ก ํ๋ ๋ฒ (0) | 2024.01.14 |
React | export์ export default์ ์ฐจ์ด (0) | 2023.08.12 |
OCP (0) | 2022.02.21 |
Recoil | Selector (0) | 2021.12.01 |