5.1 ํํฐ ๋ชฉ๋ก
๋ก๊ฑฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ์์ง ํํฐ๋ง์ ๋งค์ฐ ๋ฉ์ง๊ฒ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ํด ๊ทธ๋ ๋ชจ๋ ์ข ๋ฅ์ ๋งค๊ฐ ๋ณ์๊ฐ ์๋ ์์ญ ๊ฐ์ ํํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์๋ ํ๋ ๊ฐ์ฅ ์ธ๊ธฐ์๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค.
ํํฐ | ์ค๋ช | |
---|---|---|
1 | ๋ฒ์คํธ ํํฐ | ์ง์ ๋ ๋ก๊น ์์ค์ ๋ํด ์ด๋น ๋ฉ์์ง ๋น๋๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค. |
2 | ๋ณตํฉ ํํฐ | ์ฌ๋ฌ ์์ฐจ ํํฐ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. |
์ผ | ๋์ ์๊ณ๊ฐ ํํฐ | ๋ก๊ทธ์์ ํน์ ์ ๋ณด๊ฐ ๋ฐ๊ฒฌ๋๋ฉด ์์ธ ๋ก๊น ์ ํ์ฑํํ ์ ์์ต๋๋ค. |
4 | ๋งต ํํฐ | ์ฌ๋ฌ ๋งค๊ฐ๋ณ์์์ ํํฐ์ ๋ํ ๋ณต์กํ ๋ ผ๋ฆฌ์์ ์์ฑํ ์ ์์ต๋๋ค. |
5 | ๋ง์ปค ํํฐ | ํ๊ทธ๋ก ๋ฉ์์ง๋ฅผ ํํฐ๋งํ ์ ์์ต๋๋ค. ํ๊ทธ๋ ๋จผ์ ์ด๋ฒคํธ ๋ก๊น ์ค์ ์ถ๊ฐ๋์ด์ผ ํฉ๋๋ค. |
6 | ์ ๊ท์ ํํฐ | ๋ง์คํฌ(์ ๊ท์)๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. |
7 | ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ ํํฐ | ํน์ ๋ฐ์ดํฐ์ ์กด์ฌ ์ฌ๋ถ์ ๋ฐ๋ผ ๋ฉ์์ง๋ฅผ ํํฐ๋งํ ์ ์์ต๋๋ค. |
8 | ThreadContextMapFilter | ํ์ฌ ์ค๋ ๋์ ์ปจํ ์คํธ์์ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. |
9 | ์๊ณ๊ฐ ํํฐ | ๋ก๊ทธ ๋ฉ์์ง ์์ค์ ๋ฐ๋ผ ๋ก๊น ์ ์ ์ดํฉ๋๋ค. |
10 | ์๊ฐ ํํฐ | ํน์ ์๊ฐ์ ํํฐ๋ฅผ ์ผ๊ณ ๋ ์ ์์ต๋๋ค. |
์๋์์ ์ฐ๋ฆฌ๋ ๊ทธ๋ค ์ค ์ธ ๊ฐ์ง์ ๋ํด์๋ง ์ด์ผ๊ธฐ ํ ๊ฒ์ ๋๋ค. ๊ณต์ ์น ์ฌ์ดํธ ์์ ์ด๋ฌํ ํํฐ์ ๋ํด ์์ธํ ์์๋ณผ ์ ์์ต๋๋ค .
5.2 ์๊ฐ ํํฐ
ํํฐ๋ฅผ ์ฌ์ฉ TimeFilter
ํ๋ฉด ํน์ ์๊ฐ์ ํํฐ๋ฅผ ์ผ๊ณ ๋ ์ ์์ผ๋ฉฐ 5๊ฐ์ ๋งค๊ฐ๋ณ์๊ฐ ์์ต๋๋ค.
1 | ์์ | ํ์์ ๋ก๊น
์์ ์๊ฐHH:mm:ss |
2 | ๋ | ๋ก๊ทธ์คํ ์๊ฐ ํ์HH:mm:ss |
์ผ | ์๊ฐ๋ | ์๊ฐ๋๋ฅผ ์ค์ ํฉ๋๋ค. |
4 | ๊ฒฝ๊ธฐ ์ค | ํํฐ ์กฐ๊ฑด์ด ์ฐธ์ธ ๊ฒฝ์ฐ ๊ธฐ๋กํ๋ ๋ฐฉ๋ฒ . ์ด์ฉ๋ฉด ACCEPT , DENY ๋๋ NEUTRAL . ๊ธฐ๋ณธ NEUTRAL . |
5 | ๋ฏธ์ค๋งค์น | ํํฐ ์กฐ๊ฑด์ด false ์ธ ๊ฒฝ์ฐ ๊ธฐ๋กํ๋ ๋ฐฉ๋ฒ . ์ด์ฉ๋ฉด ACCEPT , DENY ๋๋ NEUTRAL . ๊ธฐ๋ณธ NEUTRAL . |
๋งค์ผ ์ค์ 5์์ ๋ก๊น ์ ์ผ๊ณ ์ค์ 5์ 30๋ถ์ ๋๋ ํํฐ๋ฅผ ์ค์ ํด ๋ด ์๋ค. ์ ์ฒด ํํฐ ๊ตฌ์ฑ์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
<TimeFilter start="05:00:00" end="05:30:00" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
5.3 ์ ๊ท์ ํํฐ
ํํฐ๋ฅผ ์ฌ์ฉํ๋ฉด RegexFilter
๋ฉ์์ง ํํฐ๋ง์ ์ํ ๋ง์คํฌ(์ ๊ท์)๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. ์ด ํํฐ์๋ 4๊ฐ์ ๋งค๊ฐ๋ณ์๊ฐ ์์ต๋๋ค.
1 | ์ ๊ท์ | ๋ฉ์์ง๋ฅผ ํํฐ๋งํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ง์คํฌ์ธ ์ ๊ท์์ ์ง์ ํฉ๋๋ค.HH:mm:ss |
2 | useRawMsg | ๋ง์คํฌ๋ ์์ ์ง์ ์ (true) ๋๋ ์์ ์ง์ ํ(false) ๋ฉ์์ง์ ์ ์ฉ๋ฉ๋๋ค. |
์ผ | ๊ฒฝ๊ธฐ ์ค | ํํฐ ์กฐ๊ฑด์ด ์ฐธ์ธ ๊ฒฝ์ฐ ๊ธฐ๋กํ๋ ๋ฐฉ๋ฒ . ์ด์ฉ๋ฉด ACCEPT , DENY ๋๋ NEUTRAL . ๊ธฐ๋ณธ NEUTRAL . |
4 | ๋ฏธ์ค๋งค์น | ํํฐ ์กฐ๊ฑด์ด false ์ธ ๊ฒฝ์ฐ ๊ธฐ๋กํ๋ ๋ฐฉ๋ฒ . ์ด์ฉ๋ฉด ACCEPT , DENY ๋๋ NEUTRAL . ๊ธฐ๋ณธ NEUTRAL . |
codegym๋ผ๋ ๋จ์ด๊ฐ ํฌํจ๋ ๋ฉ์์ง๋ง ํ์ฉํ๋ ํํฐ๋ฅผ ์ค์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ ์ฒด ํํฐ ๊ตฌ์ฑ์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
<RegexFilter regex=".* codegym .*" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
5.4 ์๊ณ๊ฐ ํํฐ
ThresholdFilter ํํฐ๋ฅผ ์ฌ์ฉ ํ๋ฉด ๋ฉ์์ง ์์ค๋ณ๋ก ํํฐ๋ง์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. 3๊ฐ์ ๋งค๊ฐ๋ณ์๋ง ์์ต๋๋ค.
1 | ์์ค | ๋ฉ์์ง ๋ก๊น
์์ค์ ์ด๋ฆ์ ์ค์ ํฉ๋๋ค: ERROR , DEBUG , โฆ |
2 | ๊ฒฝ๊ธฐ ์ค | ํํฐ ์กฐ๊ฑด์ด ์ฐธ์ธ ๊ฒฝ์ฐ ๊ธฐ๋กํ๋ ๋ฐฉ๋ฒ . ์ด์ฉ๋ฉด ACCEPT , DENY ๋๋ NEUTRAL . ๊ธฐ๋ณธ NEUTRAL . |
์ผ | ๋ฏธ์ค๋งค์น | ํํฐ ์กฐ๊ฑด์ด false ์ธ ๊ฒฝ์ฐ ๊ธฐ๋กํ๋ ๋ฐฉ๋ฒ . ์ด์ฉ๋ฉด ACCEPT , DENY ๋๋ NEUTRAL . ๊ธฐ๋ณธ NEUTRAL . |
์์ค์ ๋ฉ์์ง๋ง ํ์ฉํ๋ ํํฐ๋ฅผ ์ค์ ํด ๋ณด๊ฒ ์ต๋๋ค DEBUG
. ์ ์ฒด ํํฐ ๊ตฌ์ฑ์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
<ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
GO TO FULL VERSION