Search
Duplicate
๐Ÿ“‡

SLF4J

Simple Logging Facade For Java
๋‹ค์–‘ํ•œ ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•œ ์ถ”์ƒํ™”(์ธํ„ฐํŽ˜์ด์Šค) ์—ญํ• 
์ถ”์ƒ ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ์ด๊ธฐ์— ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ
์ตœ์ข… ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐฐํฌ์‹œ ์›ํ•˜๋Š” ๊ตฌํ˜„์ฒด๋ฅผ ์„ ํƒ
๋กœ๊น… ํ”„๋ ˆ์ž„
SLF4J๋ฅผ ์˜์กดํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ์—์„œ๋Š” ์‹ค์ œ ๊ตฌํ˜„์„ ๋ชฐ๋ผ๋„ ๋จ
๊ฐœ๋ฐฉ ํ์‡„ ์›์น™ ์˜์กด๊ด€๊ณ„ ์—ญ์ „์›์น™์ด ์ž˜ ์ง€์ผœ์ง
๊ฐœ๋ฐœํ• ๋•Œ - SLF4J ๋กœ๊น… ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ
๋ฐฐํฌํ•  ๋•Œ๋Š” ๋ฐ”์ธ๋”ฉ๋œ ๋กœ๊น… ํ”„๋ ˆ์ž„ ์›Œํฌ๊ฐ€ ์‹ค์ œ ๋กœ๊น… ์ฝ”๋“œ๋ฅผ ์ˆ˜ํ–‰
Bridge - ๋‹ค๋ฅธ ๋กœ๊น… API๋กœ์˜ Logger ํ˜ธ์ถœ์„ SLF4J API๋กœ ์—ฐ๊ฒฐ ์ด์ „์˜ ๋ ˆ๊ฑฐ์‹œ ๋กœ๊น… ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—ฌ๋Ÿฌ๊ฐœ ์‚ฌ์šฉ๊ฐ€๋Š” Binding ๋ชจ๋“ˆ์—์„œ ์‚ฌ์šฉ๋  ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋‹ฌ๋ผ์•ผํ•จ ์ผ์ข…์˜ ์–ด๋Œ‘ํ„ฐ ์—ญํ• ์„ ํ•จ
์ฃผ์˜์  ์—ฌ๋Ÿฌ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•ด๋„ ์‚ฌ์šฉํ•ด๋„ ์ƒ๊ด€์—†์ง€๋งŒ Bridge์™€ Binding ๋ชจ๋“ˆ์— ๊ฐ™์€ ์ข…๋ฅ˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ ์‚ฌ์šฉ X
SLF4J - ๋กœ๊น…์— ๋Œ€ํ•œ ์ถ”์ƒ ๋ ˆ์ด์–ด(์ธํ„ฐํŽ˜์ด์Šค) ์ œ๊ณต ํ•˜๋‚˜์˜ API ๋ชจ๋“ˆ์˜ ํ•˜๋‚˜์˜ Binding ๋ชจ๋“ˆ
Binding - SLF4J API๋ฅผ ๋กœ๊น… ๊ตฌํ˜„์ฒด (Logging Framework) ์™€ ์—ฐ๊ฒฐํ•˜๋Š” ์ผ์ข…์˜ ์–ด๋Œ‘ํ„ฐ ์—ญํ• , ํ•˜๋‚˜์˜ API ๋ชจ๋“ˆ์— ํ•˜๋‚˜์˜ Binding ๋ชจ๋“ˆ
public class WonowApplication { public static void main(String[] args) { Logger logger = LoggerFactory.getLogger(WonowApplication.class); // ์‚ฌ์šฉ๋ฒ• // ์ž๋™์œผ๋กœ Log Level์„ Debug๋กœ ์žก์•„์คŒ // ๊ทธ๋ž˜์„œ Trace๋Š” ์ถœ๋ ฅ ๋˜์ง€ ์•Š์Œ for(int i = 0; i < 5; i++) { logger.error("์—๋Ÿฌ {}", i) logger.warn("์›Œ๋‹ {}", i) logger.info("์ธํฌ {}", i) logger.debug("๋””๋ฒ„๊ทธ์ž„ {}", i) logger.trace("ํŠธ๋ ˆ์ด์Šค์ž„ {}", i) // ์ถœ๋ ฅ์•ˆ๋จ logger.trace("ํŠธ๋ ˆ์ด์Šค์ž„" + i) // ์ถœ๋ ฅ์€ ์•ˆ๋˜๋Š”๋ฐ + ์—ฐ์‚ฐ์€ ๋“ค์–ด๊ฐ€์„œ ์„ฑ๋Šฅ์ด ์•ˆ์ข‹์•„์ง ๊ทธ๋ž˜์„œ ์œ„์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒŒ ์ข‹์Œ } } }
Java
๋ณต์‚ฌ
๋””๋ฒ„๊ทธ ๋ ˆ๋ฒจ ์ด์ƒ ๋ง๊ณ  ๋กœ๊ทธ ๋ ˆ๋ฒจ์— ๋”ฐ๋ผ ๋”ฐ๋ฅด๊ฒŒ ์„ค์ •ํ•˜๊ณ  ์‹ถ์œผ๋ฉด xml์— ์ž‘์„ฑ
์ž์„ธํ•œ ๋‚ด์šฉ์€ LogBack์— ์ž‘์„ฑํ•˜๊ฒ ์Œ