5.1 Listahan ng mga filter
Binibigyang-daan ka ng logger na napaka-cool na i-configure ang pag-filter ng mensahe. Upang gawin ito, mayroon siyang ilang dosenang mga filter na may lahat ng uri ng mga parameter. Ipinapakita ng talahanayan sa ibaba ang mga pinakasikat.
Mga filter | Paglalarawan | |
---|---|---|
1 | BurstFilter | Binibigyang-daan kang kontrolin ang dalas ng mga mensahe bawat segundo para sa isang naibigay na antas ng pag-log. |
2 | CompositeFilter | Binibigyang-daan kang magtakda ng maraming sequential na mga filter. |
3 | DynamicThresholdFilter | Binibigyang-daan kang paganahin ang detalyadong pag-log kung ang ilang impormasyon ay matatagpuan sa log. |
4 | MapFilter | Binibigyang-daan kang bumuo ng isang kumplikadong lohikal na expression para sa filter mula sa ilang mga parameter. |
5 | MarkerFilter | Binibigyang-daan kang mag-filter ng mga mensahe ayon sa mga tag, dapat munang idagdag ang tag sa panahon ng pag-log ng kaganapan. |
6 | RegexFilter | Binibigyang-daan kang magtakda ng mask - isang regular na expression. |
7 | StructuredDataFilter | Nagbibigay-daan sa iyong i-filter ang mga mensahe ayon sa pagkakaroon ng ilang partikular na data sa mga ito. |
8 | ThreadContextMapFilter | Binibigyang-daan kang pamahalaan ang mga filter batay sa data na kinuha mula sa konteksto ng kasalukuyang thread. |
9 | ThresholdFilter | Kinokontrol ang pag-log batay sa antas ng mensahe ng log. |
10 | TimeFilter | Binibigyang-daan kang i-on at i-off ang mga filter sa mga partikular na oras. |
Sa ibaba ay pag-uusapan natin ang tungkol sa tatlo lamang sa kanila. Maaari kang matuto nang higit pa tungkol sa mga filter na ito sa kanilang opisyal na website .
5.2 TimeFilter
TimeFilter
Pinapayagan ka ng filter na i-on at i-off ang mga filter sa isang tiyak na oras, mayroon itong 5 mga parameter:
1 | simulan | Oras ng pagsisimula ng pag-log sa formatHH:mm:ss |
2 | wakas | Oras ng pag-log off sa formatHH:mm:ss |
3 | time zone | Itinatakda ang time zone. |
4 | onMatch | Paano mag - log kung ang kundisyon ng filter ay totoo . Baka ACCEPT , DENY o NEUTRAL . Default NEUTRAL . |
5 | onMismatch | Paano mag-log kung mali ang kundisyon ng filter . Baka ACCEPT , DENY o NEUTRAL . Default NEUTRAL . |
Mag-set up tayo ng filter na mag-o-on sa pag-log sa 5am at i-off ito ng 5:30am araw-araw. Ang isang halimbawa na may kumpletong configuration ng filter ay nasa ibaba:
<?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
Binibigyang-daan ka ng filter RegexFilter
na magtakda ng mask (regular na expression) para sa pag-filter ng mga mensahe. Ang filter na ito ay may 4 na parameter:
1 | regex | Tinutukoy ang isang regular na expression - isang maskara na ginagamit upang i-filter ang mga mensahe.HH:mm:ss |
2 | gumamit ngRawMsg | Inilapat ang mask sa mensahe bago ang pag-format (true) o pagkatapos ng pag-format (false) |
3 | onMatch | Paano mag - log kung ang kundisyon ng filter ay totoo . Baka ACCEPT , DENY o NEUTRAL . Default NEUTRAL . |
4 | onMismatch | Paano mag-log kung mali ang kundisyon ng filter . Baka ACCEPT , DENY o NEUTRAL . Default NEUTRAL . |
Mag-set up tayo ng filter na magpapahintulot lamang sa mga mensaheng naglalaman ng salitang codegym. Ang isang halimbawa na may kumpletong configuration ng filter ay nasa ibaba:
<?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
Binibigyang-daan ka ng ThresholdFilter na filter na i-configure ang pag-filter ayon sa antas ng mensahe. Mayroon lamang itong 3 mga parameter:
1 | antas | Itinatakda ang pangalan ng antas ng pag-log ng mensahe: ERROR , DEBUG , … |
2 | onMatch | Paano mag - log kung ang kundisyon ng filter ay totoo . Baka ACCEPT , DENY o NEUTRAL . Default NEUTRAL . |
3 | onMismatch | Paano mag-log kung mali ang kundisyon ng filter . Baka ACCEPT , DENY o NEUTRAL . Default NEUTRAL . |
Mag-set up tayo ng filter na papayagan lang ang mga mensahe ng level DEBUG
. Ang isang halimbawa na may kumpletong configuration ng filter ay nasa ibaba:
<?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