https://docs.spring.io/spring-boot/reference/features/logging.html
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>
XML ์ ์ธ:
<?xml version="1.0" encoding="UTF-8"?>
Configuration ํ๊ทธ:
<configuration>
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>
name="console"์ ์ด appender์ ์ด๋ฆ์ "console"๋ก ์ง์ ํฉ๋๋ค. class="ch.qos.logback.core.ConsoleAppender"๋ ์ด appender๊ฐ ์ฝ์์ ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํ๋ ์ญํ ์ ํ๋ค๋ ๊ฒ์ ๋ํ๋
๋๋ค.encoder ํ๊ทธ ๋ด์์ ๋ก๊ทธ ๋ฉ์์ง์ ํ์์ ์ ์ํฉ๋๋ค.
%d{yyyy-MM-dd HH:mm:ss}:%-3relative: ๋ก๊ทธ ๋ฐ์ ์๊ฐ์ ์ถ๋ ฅํฉ๋๋ค. ๋ ์ง ํ์์ yyyy-MM-dd HH:mm:ss์ด๊ณ , ์๋ ์๊ฐ์ 3์๋ฆฌ๋ก ์ถ๋ ฅํฉ๋๋ค.%thread: ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํ ์ค๋ ๋์ ์ด๋ฆ์ ์ถ๋ ฅํฉ๋๋ค.%-5level: ๋ก๊ทธ ๋ ๋ฒจ์ ์ถ๋ ฅํฉ๋๋ค(์: INFO, DEBUG).%logger{36}: ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํ ๋ก๊ฑฐ์ ์ด๋ฆ์ ์ถ๋ ฅํฉ๋๋ค. ์ต๋ 36๊ธ์๊น์ง ์ถ๋ ฅํฉ๋๋ค.%msg: ๋ก๊ทธ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค.%n: ์๋ก์ด ์ค์ ์ถ๋ ฅํฉ๋๋ค.๋ก๊ฑฐ ์ค์ :
<logger name="com.example.ex19_mybatis_sql_log" level="debug" />
name ์์ฑ์ ๋ก๊ฑฐ์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ "com.example.ex19_mybatis_sql_log" ํจํค์ง์ ๋ํ ๋ก๊ทธ ์ค์ ์ ์ ์ํฉ๋๋ค.level="debug"๋ ์ด ๋ก๊ฑฐ์ ๋ก๊ทธ ๋ ๋ฒจ์ DEBUG๋ก ์ค์ ํฉ๋๋ค. ์ด๋ ์ด ํจํค์ง ๋ด์ ๋ชจ๋ ๋ก๊ทธ ๋ฉ์์ง๊ฐ DEBUG ๋ ๋ฒจ ์ด์์ผ ๋ ์ถ๋ ฅ๋จ์ ์๋ฏธํฉ๋๋ค.๋ฃจํธ ๋ก๊ฑฐ ์ค์ :
<root level="info">
<appender-ref ref="console" />
</root>
root ํ๊ทธ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ธฐ๋ณธ ๋ก๊ฑฐ๋ฅผ ์ ์ํฉ๋๋ค.level="info"๋ ๊ธฐ๋ณธ ๋ก๊ฑฐ์ ๋ก๊ทธ ๋ ๋ฒจ์ INFO๋ก ์ค์ ํฉ๋๋ค. ์ด๋ INFO ๋ ๋ฒจ ์ด์์ ๋ชจ๋ ๋ก๊ทธ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋จ์ ์๋ฏธํฉ๋๋ค.appender-ref ref="console"๋ ๋ฃจํธ ๋ก๊ฑฐ๊ฐ "console" appender๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํจ์ ์๋ฏธํฉ๋๋ค.| ๋ก๊ทธ ๋ ๋ฒจ | ์ค๋ช | ์ฌ์ฉ ์์ |
|---|---|---|
TRACE |
๊ฐ์ฅ ๋ฎ์ ์์ค์ ์์ธํ ๋ก๊ทธ ๋ฉ์์ง๋ฅผ ๊ธฐ๋กํฉ๋๋ค. | ์ ํ๋ฆฌ์ผ์ด์ ์ ๋งค์ฐ ์ธ๋ถ์ ์ธ ํ๋ฆ์ ์ถ์ ํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. |
DEBUG |
๋๋ฒ๊น ๋ชฉ์ ์ผ๋ก ์ ์ฉํ ์ ๋ณด๋ฅผ ๊ธฐ๋กํฉ๋๋ค. | ๊ฐ๋ฐ ์ค ๋๋ฒ๊น ์ ์ํด ๋ณ์๋ฅผ ์ถ๋ ฅํ๊ฑฐ๋ ํ๋ฆ์ ํ์ธํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. |
INFO |
์ผ๋ฐ์ ์ธ ์ ๋ณด๋ฅผ ๊ธฐ๋กํฉ๋๋ค. | ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์์ ์ธ ์คํ ๊ณผ์ ์์ ์ ์ฉํ ์ ๋ณด๋ฅผ ๊ธฐ๋กํฉ๋๋ค. |
WARN |
๊ฒฝ๊ณ ๋ฅผ ๊ธฐ๋กํฉ๋๋ค. | ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ๋ํ๋ด๋ฉฐ, ์ฆ์ ํด๊ฒฐ์ด ํ์ํ์ง๋ ์์ง๋ง ์ฃผ์๊ฐ ํ์ํ ์ํฉ์ ๋๋ค. |
ERROR |
์ค๋ฅ๋ฅผ ๊ธฐ๋กํฉ๋๋ค. | ์คํ ์ค ๋ฐ์ํ ์ค๋ฅ๋ก ์ธํด ํน์ ๊ธฐ๋ฅ์ด ์คํจํ์์ ๋ํ๋ ๋๋ค. |
FATAL |
์น๋ช ์ ์ธ ์ค๋ฅ๋ฅผ ๊ธฐ๋กํฉ๋๋ค. | ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ์ ์ค๋จ์ํฌ ์ ์๋ ์ฌ๊ฐํ ์ค๋ฅ ์ํฉ์ ๋ํ๋ ๋๋ค. |
| ํ์ฌ ๋ก๊ทธ ๋ ๋ฒจ | TRACE ์ถ๋ ฅ | DEBUG ์ถ๋ ฅ | INFO ์ถ๋ ฅ | WARN ์ถ๋ ฅ | ERROR ์ถ๋ ฅ | FATAL ์ถ๋ ฅ |
|---|---|---|---|---|---|---|
TRACE |
์ | ์ | ์ | ์ | ์ | ์ |
DEBUG |
์๋์ | ์ | ์ | ์ | ์ | ์ |
INFO |
์๋์ | ์๋์ | ์ | ์ | ์ | ์ |
WARN |
์๋์ | ์๋์ | ์๋์ | ์ | ์ | ์ |
ERROR |
์๋์ | ์๋์ | ์๋์ | ์๋์ | ์ | ์ |
FATAL |
์๋์ | ์๋์ | ์๋์ | ์๋์ | ์๋์ | ์ |