์ดํ๋ ๋ชฉ๋ก
๋ก๊ฑฐ๋ฅผ ์ฌ์ฉํ๋ฉด ํ ๋ฒ์ ์ฌ๋ฌ ํ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ถ๋ ฅ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ appender(append์์)๋ผ๊ณ ํฉ๋๋ค. ๊ฝค ๋ง์ ํ์ค appender๊ฐ ์์ผ๋ฏ๋ก ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๊ฒ๋ค๋ง ๋ค๋ฃฐ ๊ฒ์ ๋๋ค.
์ดํ๋ | ์ค๋ช | |
---|---|---|
1 | ์ฝ์ | ๋ฐ์ดํฐ๋ฅผ ์ฝ์์ ์ถ๋ ฅ |
2 | ํ์ผ | ๋ฐ์ดํฐ๋ฅผ ํ์ผ๋ก ์ถ๋ ฅ |
์ผ | DailyRollingFile | ๋ฐ์ดํฐ๋ฅผ ํ์ผ๋ก ์ถ๋ ฅํ๊ณ ํ์ผ์ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฎ์ด์๋๋ค. |
4 | ๋น๋๊ธฐ | ๋ค๋ฅธ appender์ ๋น๋๊ธฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ธ ์ ์์ต๋๋ค. |
5 | ์์ผ | ํน์ ์์ผ์ ๋ฐ์ดํฐ ์ฐ๊ธฐ |
6 | JDBC | JDBC ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฉ์์ง ์ฐ๊ธฐ |
7 | JPA | JPA ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฉ์์ง ์ฐ๊ธฐ |
8 | HTTP | HTTP ํ๋กํ ์ฝ์ ํตํด ์๊ฒฉ ์๋ฒ๋ก ์ด๋ฒคํธ ์ ์ก |
9 | SMTP | ๋ฉ์์ง๋ฅผ ๋ฒํผ์ ์ ์ฅํ ๋ค์ ์ด๋ฉ์ผ๋ก ๋ณด๋ ๋๋ค. |
๋ชจ๋ appender์ ๋ํ ์ข์ ๋ฌธ์๋ ๊ณต์ ์น ์ฌ์ดํธ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๊ณ ๋จ์ํ ๊ฒ์ ๊ณ ๋ คํ ๊ฒ์ ๋๋ค.
ConsoleAppender
๊ฐ์ฅ ๊ฐ๋จํ ์ดํ๋๋ConsoleApender
. ์ง์ํ์
จ๊ฒ ์ง๋ง ๊ทธ๋ ๋จ์ํ ๋ฉ์์ง๋ฅผ ์ฝ์์ ์๋๋ค. ๋ช ๊ฐ์ง ํฅ๋ฏธ๋ก์ด ๋งค๊ฐ๋ณ์๊ฐ ์์ต๋๋ค.
์์ฑ | ||
---|---|---|
1 | ์ด๋ฆ | ์ดํ๋ ์ด๋ฆ |
2 | ํํฐ | ์ผ๋ถ ๋ฉ์์ง๋ฅผ ํํฐ๋งํ ์ ์์ต๋๋ค. |
์ผ | ๊ณต๋ค์ฌ ๋์ดํ ๊ฒ | ์ถ๋ ฅํ ๋ ๋ฉ์์ง์ ํ์์ ์ง์ ํฉ๋๋ค. |
4 | ํ์ | ์์ฑํ ์์น๋ฅผ ์ง์ ํฉ๋๋ค. SYTEM_OUT ๋๋SYSTEM_ERR |
๊ตฌ์ฑํ๋ ๊ฒ์ ๋งค์ฐ ์ฝ์ต๋๋ค.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%m%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="STDOUT"/>
</Root>
</Loggers>
</Configuration>
FileAppender
๊ฐ์ฅ ์ ์ฉํ ์ดํ๋๋FileAppender
. ConsoleAppender
๊ทธ๊ฐ ๋ฉ์์ง๋ฅผ ํ์ผ์ ์ฐ๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ . ์ด๋ ์ ํ๋ฆฌ์ผ์ด์
์ด ์๋ฒ ์ด๋๊ฐ์์ ์คํ ์ค์ผ ๋ ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ๋งค๊ฐ๋ณ์๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ์ด์ ์ฒด์ ์์ ํ์ผ์ ์ธ ์ ์์ด์ผ ํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๊ทธ๋ค ์ค ๊ฐ์ฅ ์ธ๊ธฐ์๋ ๊ฒ๋ง ๊ณ ๋ คํ ๊ฒ์ ๋๋ค.
1 | ์ด๋ฆ | ์ดํ๋์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. |
2 | ํํฐ | ์ผ๋ถ ๋ฉ์์ง๋ฅผ ํํฐ๋งํ ์ ์์ต๋๋ค. |
์ผ | ๊ณต๋ค์ฌ ๋์ดํ ๊ฒ | ์ถ๋ ฅํ ๋ ๋ฉ์์ง์ ํ์์ ์ง์ ํฉ๋๋ค. |
4 | ํ์ผ ์ด๋ฆ | ๋ฉ์์ง๋ฅผ ์ธ ํ์ผ์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. |
5 | ์ถ๊ฐ | ์ด๋ฉด true ๋ฉ์์ง๊ฐ ์ด์ ๋ก๊ทธ์ ์ถ๊ฐ๋๊ณ , if false - ์์ฉ ํ๋ก๊ทธ๋จ์ด ์์๋ ๋๋ง๋ค ๋ก๊ทธ ํ์ผ์ด ๋ค์ ์์ฑ๋ฉ๋๋ค. |
6 | ๋ฒํผ ํฌ๊ธฐ | ๋ฒํผ ํฌ๊ธฐ๋ฅผ ๋ฐ์ดํธ ๋จ์๋ก ์ค์ ํฉ๋๋ค. |
7 | ์ฆ์ ํ๋ฌ์ | ์ด๋ฉด true ๊ฐ ๋ฉ์์ง๋ ์ค์ ๋ก ์ฆ์ ๋์คํฌ์ ๊ธฐ๋ก๋ฉ๋๋ค(๋ฒํผ ์์ด). ๋ก๊ทธ๊ฐ ๋๋ฆฌ๊ฒ ์๋ํ๊ธฐ ์์ํ์ง๋ง ์ด๋ ๊ฒ ํ๋ฉด ํ๋ก๊ทธ๋จ ์ถฉ๋ ์ ๋ฐ์ดํฐ ์์ค์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. |
ํ์ผ ์์ ๋ฐฉ๋ฒ์ ์ด๋ฏธ ์๊ณ ์์ผ๋ฏ๋ก ์ด๋ฌํ ์ค์ ์ ์๋ก์ด ๊ฒ์ด ์๋๋๋ค. ์ด๋ฌํ ๋ก๊ฑฐ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ ์ฝ์ ๋ก๊ฑฐ๋ณด๋ค ํจ์ฌ ์ฝ์ต๋๋ค.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<File name="MyFile" fileName="logs/app.log">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
</File>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="MyFile"/>
</Root>
</Loggers>
</Configuration>
RollingFileAppender
๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์ดํ๋๋RollingFileAppender
. ์ด์๋ ๋ฌ๋ฆฌ FileAppender
๋ก๊ทธ๋ฅผ ์ฌ๋ฌ ๊ฐ์ ์์ ํ์ผ๋ก ๋ถํ ํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ํฐ ๋ก๊ทธ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ํ ์ ํ์ผ์ด ์์ฑ๋๊ธฐ ์์ํ ํ ์ด์ ํ์ผ๋ก ์ํํ ์์
์ ๋ํ ๊ท์น์ ์ค์ ํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด appender์๋ ๊ฑฐ์ 100๊ฐ์ง์ ๋ค๋ฅธ ์ค์ ์ด ์์ต๋๋ค. ๋งํฌ์์ ์์ธํ ๋ด์ฉ์ ํ์ธํ ์ ์์ต๋๋ค .
์ด appender์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์์ฑ์ ๊ณ ๋ คํ์ญ์์ค.
์์ฑ | ||
---|---|---|
1 | ์ด๋ฆ | ์ดํ๋์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. |
2 | ํํฐ | ์ผ๋ถ ๋ฉ์์ง๋ฅผ ํํฐ๋งํ ์ ์์ต๋๋ค. |
์ผ | ๊ณต๋ค์ฌ ๋์ดํ ๊ฒ | ์ถ๋ ฅํ ๋ ๋ฉ์์ง์ ํ์์ ์ง์ ํฉ๋๋ค. |
4 | ํ์ผ ์ด๋ฆ | ๋ฉ์์ง๋ฅผ ์ธ ํ์ผ์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. |
5 | ํ์ผ ํจํด | ๋ ์ด์ ๊ธฐ๋ก๋์ง ์๋ ์์นด์ด๋ธ ํ์ผ์ ์ด๋ฆ ์ง์ ํจํด์ ์ง์ ํฉ๋๋ค. |
6 | ์ ์ฑ | ํ์ผ์ ๋ฎ์ด์ฐ๊ธฐ ์์ํด์ผ ํ๋ ์กฐ๊ฑด์ ์ง์ ํฉ๋๋ค. |
7 | ์ ๋ต | ์ค๋๋ ํ์ผ๋ก ์ํํ ์์ (์์นด์ด๋ธ, ๋ณด๊ด ์ผ์ ๊ธฐ๋ก ๋ฑ)์ ์ค๋ช ํฉ๋๋ค. |
๋ค์์ ์ข์ ์์ ๋๋ค.
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="250 MB"/>
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
์ด ๋งค๊ฐ๋ณ์๋ filePattern
์ด์ ๋ก๊ทธ ์์นด์ด๋ธ์ ํ
ํ๋ฆฟ์ ์ง์ ํฉ๋๋ค. ํธ๋ฆฌ๊ฑฐ๋ ๋ ์ ํ์ผ์ด ์์ฑ๋๋ ๋ ๊ฐ์ง๋ ์์ต๋๋ค.
TimeBasedTriggeringPolicy
โ ์๋ก์ด ๋ ์ด ์์๋๋ฉด ์๋ํฉ๋๋ค(ํ์ฌ ๋ ์ง๊ฐ ๋ณ๊ฒฝ๋จ).SizeBasedTriggeringPolicy
โ ํ์ผ ํฌ๊ธฐ๊ฐ 250MB์ ๋๋ฌํ๋ฉด ์๋ํฉ๋๋ค.
GO TO FULL VERSION