๐Ÿ“‹ Logging

https://docs.spring.io/spring-boot/reference/features/logging.html

โœ… MyBatis๋กœ SQL๋กœ๊ทธ ์ถœ๋ ฅ

๐Ÿ“Œ logback-spring.xml

logback-spring.xml ํŒŒ์ผ์€ Logback์˜ ์„ค์ •์„ ์ •์˜ํ•˜๋Š” XML ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ์ด ํŒŒ์ผ์„ ํ†ตํ•ด ๋กœ๊น… ์„ค์ •์„ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <Pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative] [%thread] %-5level %logger{36} - %msg%n</Pattern>
        </encoder>
    </appender>

    <logger name="com.example.ex19_mybatis_sql_log" level="debug" />

    <root level="info">
        <appender-ref ref="console" />
    </root>
</configuration>

์„ค๋ช…

  1. XML ์„ ์–ธ:

    <?xml version="1.0" encoding="UTF-8"?>
    
    
  2. Configuration ํƒœ๊ทธ:

    <configuration>
    
    
  3. Console Appender ์„ค์ •:

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <Pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative] [%thread] %-5level %logger{36} - %msg%n</Pattern>
        </encoder>
    </appender>
    
    
  4. ๋กœ๊ฑฐ ์„ค์ •:

    <logger name="com.example.ex19_mybatis_sql_log" level="debug" />
    
    
  5. ๋ฃจํŠธ ๋กœ๊ฑฐ ์„ค์ •:

    <root level="info">
        <appender-ref ref="console" />
    </root>
    
    

โœ… ๋กœ๊ทธ ๋ ˆ๋ฒจ

๋กœ๊ทธ ๋ ˆ๋ฒจ ์„ค๋ช… ์‚ฌ์šฉ ์˜ˆ์‹œ
TRACE ๊ฐ€์žฅ ๋‚ฎ์€ ์ˆ˜์ค€์˜ ์ƒ์„ธํ•œ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋งค์šฐ ์„ธ๋ถ€์ ์ธ ํ๋ฆ„์„ ์ถ”์ ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
DEBUG ๋””๋ฒ„๊น… ๋ชฉ์ ์œผ๋กœ ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์ค‘ ๋””๋ฒ„๊น…์„ ์œ„ํ•ด ๋ณ€์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜ ํ๋ฆ„์„ ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
INFO ์ผ๋ฐ˜์ ์ธ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ •์ƒ์ ์ธ ์‹คํ–‰ ๊ณผ์ •์—์„œ ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
WARN ๊ฒฝ๊ณ ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์ž ์žฌ์ ์ธ ๋ฌธ์ œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์ฆ‰์‹œ ํ•ด๊ฒฐ์ด ํ•„์š”ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.
ERROR ์˜ค๋ฅ˜๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์ค‘ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜๋กœ ์ธํ•ด ํŠน์ • ๊ธฐ๋Šฅ์ด ์‹คํŒจํ–ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
FATAL ์น˜๋ช…์ ์ธ ์˜ค๋ฅ˜๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹คํ–‰์„ ์ค‘๋‹จ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜ ์ƒํ™ฉ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
ํ˜„์žฌ ๋กœ๊ทธ ๋ ˆ๋ฒจ TRACE ์ถœ๋ ฅ DEBUG ์ถœ๋ ฅ INFO ์ถœ๋ ฅ WARN ์ถœ๋ ฅ ERROR ์ถœ๋ ฅ FATAL ์ถœ๋ ฅ
TRACE ์˜ˆ ์˜ˆ ์˜ˆ ์˜ˆ ์˜ˆ ์˜ˆ
DEBUG ์•„๋‹ˆ์š” ์˜ˆ ์˜ˆ ์˜ˆ ์˜ˆ ์˜ˆ
INFO ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์˜ˆ ์˜ˆ ์˜ˆ ์˜ˆ
WARN ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์˜ˆ ์˜ˆ ์˜ˆ
ERROR ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์˜ˆ ์˜ˆ
FATAL ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์•„๋‹ˆ์š” ์˜ˆ