5.1 ఫిల్టర్ల జాబితా
మెసేజ్ ఫిల్టరింగ్ను చాలా కూల్గా కాన్ఫిగర్ చేయడానికి లాగర్ మిమ్మల్ని అనుమతిస్తుంది. ఇది చేయుటకు, అతను అన్ని రకాల పారామితులతో డజను ఫిల్టర్లను కలిగి ఉన్నాడు. దిగువ పట్టిక అత్యంత ప్రజాదరణ పొందిన వాటిని చూపుతుంది.
ఫిల్టర్లు | వివరణ | |
---|---|---|
1 | బర్స్ట్ ఫిల్టర్ | ఇచ్చిన లాగింగ్ స్థాయి కోసం సెకనుకు సందేశాల ఫ్రీక్వెన్సీని నియంత్రించడానికి మిమ్మల్ని అనుమతిస్తుంది. |
2 | కాంపోజిట్ ఫిల్టర్ | బహుళ సీక్వెన్షియల్ ఫిల్టర్లను సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. |
3 | డైనమిక్ థ్రెషోల్డ్ ఫిల్టర్ | లాగ్లో నిర్దిష్ట సమాచారం కనుగొనబడితే వివరణాత్మక లాగింగ్ను ప్రారంభించేందుకు మిమ్మల్ని అనుమతిస్తుంది. |
4 | మ్యాప్ ఫిల్టర్ | అనేక పారామితుల నుండి ఫిల్టర్ కోసం సంక్లిష్టమైన తార్కిక వ్యక్తీకరణను రూపొందించడానికి మిమ్మల్ని అనుమతిస్తుంది. |
5 | మార్కర్ ఫిల్టర్ | ట్యాగ్ల ద్వారా సందేశాలను ఫిల్టర్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది, ఈవెంట్ లాగింగ్ సమయంలో ట్యాగ్ తప్పనిసరిగా జోడించబడాలి. |
6 | RegexFilter | మాస్క్ను సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది - సాధారణ వ్యక్తీకరణ. |
7 | నిర్మాణాత్మక డేటా ఫిల్టర్ | సందేశాలలో నిర్దిష్ట డేటా ఉండటం ద్వారా వాటిని ఫిల్టర్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. |
8 | ThreadContextMapFilter | ప్రస్తుత థ్రెడ్ సందర్భం నుండి తీసుకోబడిన డేటా ఆధారంగా ఫిల్టర్లను నిర్వహించడానికి మిమ్మల్ని అనుమతిస్తుంది. |
9 | థ్రెషోల్డ్ ఫిల్టర్ | లాగ్ సందేశ స్థాయి ఆధారంగా లాగింగ్ను నియంత్రిస్తుంది. |
10 | టైమ్ ఫిల్టర్ | నిర్దిష్ట సమయాల్లో ఫిల్టర్లను ఆన్ మరియు ఆఫ్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. |
క్రింద మేము వాటిలో మూడు గురించి మాట్లాడుతాము. మీరు వారి అధికారిక వెబ్సైట్లో ఈ ఫిల్టర్ల గురించి మరింత తెలుసుకోవచ్చు .
5.2 టైమ్ఫిల్టర్
ఫిల్టర్ TimeFilter
ఒక నిర్దిష్ట సమయంలో ఫిల్టర్లను ఆన్ మరియు ఆఫ్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది, దీనికి 5 పారామితులు ఉన్నాయి:
1 | ప్రారంభించండి | ఫార్మాట్లో ప్రారంభ సమయాన్ని లాగిన్ చేయడంHH:mm:ss |
2 | ముగింపు | ఫార్మాట్లో లాగ్ ఆఫ్ సమయంHH:mm:ss |
3 | సమయమండలం | సమయ క్షేత్రాన్ని సెట్ చేస్తుంది. |
4 | ఆన్ మ్యాచ్ | ఫిల్టర్ పరిస్థితి నిజమైతే ఎలా లాగ్ చేయాలి . బహుశా ACCEPT , DENY లేదా NEUTRAL . డిఫాల్ట్ NEUTRAL . |
5 | అసమతుల్యత | ఫిల్టర్ కండిషన్ తప్పు అయితే ఎలా లాగ్ చేయాలి . బహుశా 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
RegexFilter
సందేశాలను ఫిల్టర్ చేయడానికి ఒక ముసుగు (సాధారణ వ్యక్తీకరణ) సెట్ చేయడానికి ఫిల్టర్ మిమ్మల్ని అనుమతిస్తుంది. ఈ ఫిల్టర్ 4 పారామితులను కలిగి ఉంది:
1 | రెజెక్స్ | సాధారణ వ్యక్తీకరణను నిర్దేశిస్తుంది - సందేశాలను ఫిల్టర్ చేయడానికి ఉపయోగించే ముసుగు.HH:mm:ss |
2 | ఉపయోగించండిRawMsg | ఫార్మాటింగ్ చేయడానికి ముందు (నిజం) లేదా ఫార్మాటింగ్ తర్వాత (తప్పు) సందేశంలో ముసుగు వర్తించబడుతుంది |
3 | ఆన్ మ్యాచ్ | ఫిల్టర్ పరిస్థితి నిజమైతే ఎలా లాగ్ చేయాలి . బహుశా ACCEPT , DENY లేదా NEUTRAL . డిఫాల్ట్ NEUTRAL . |
4 | అసమతుల్యత | ఫిల్టర్ కండిషన్ తప్పు అయితే ఎలా లాగ్ చేయాలి . బహుశా 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 థ్రెషోల్డ్ ఫిల్టర్
థ్రెషోల్డ్ ఫిల్టర్ ఫిల్టర్ సందేశ స్థాయి ద్వారా ఫిల్టరింగ్ను కాన్ఫిగర్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. దీనికి 3 పారామితులు మాత్రమే ఉన్నాయి:
1 | స్థాయి | సందేశ లాగింగ్ స్థాయి పేరును సెట్ చేస్తుంది: ERROR , DEBUG , … |
2 | ఆన్ మ్యాచ్ | ఫిల్టర్ పరిస్థితి నిజమైతే ఎలా లాగ్ చేయాలి . బహుశా ACCEPT , DENY లేదా NEUTRAL . డిఫాల్ట్ NEUTRAL . |
3 | అసమతుల్యత | ఫిల్టర్ కండిషన్ తప్పు అయితే ఎలా లాగ్ చేయాలి . బహుశా 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