5.1 A szűrők listája
A naplózó lehetővé teszi az üzenetszűrés nagyon hűvös beállítását. Ehhez van pár tucat szűrője mindenféle paraméterrel. Az alábbi táblázat a legnépszerűbbeket mutatja be.
| Szűrők | Leírás | |
|---|---|---|
| 1 | BurstFilter | Lehetővé teszi az üzenetek másodpercenkénti gyakoriságának szabályozását egy adott naplózási szinten. |
| 2 | Összetett szűrő | Lehetővé teszi több szekvenciális szűrő beállítását. |
| 3 | DynamicThresholdFilter | Lehetővé teszi a részletes naplózás engedélyezését, ha bizonyos információk találhatók a naplóban. |
| 4 | MapFilter | Lehetővé teszi a szűrő összetett logikai kifejezésének felépítését több paraméterből. |
| 5 | MarkerFilter | Lehetővé teszi az üzenetek címkék szerinti szűrését, a címkét először az eseménynaplózás során kell hozzáadni. |
| 6 | RegexFilter | Lehetővé teszi maszk beállítását – reguláris kifejezést. |
| 7 | StructuredDataFilter | Lehetővé teszi az üzenetek szűrését bizonyos adatok jelenléte alapján. |
| 8 | ThreadContextMapFilter | Lehetővé teszi a szűrők kezelését az aktuális szál környezetéből vett adatok alapján. |
| 9 | ThresholdFilter | A naplózást a naplóüzenet szintje alapján vezérli. |
| 10 | TimeFilter | Lehetővé teszi a szűrők meghatározott időpontokban történő be- és kikapcsolását. |
Az alábbiakban ezek közül csak háromról fogunk beszélni. Ezekről a szűrőkről többet megtudhat a hivatalos webhelyükön .
5.2 TimeFilter
A szűrő TimeFilterlehetővé teszi a szűrők egy adott időpontban történő be- és kikapcsolását, 5 paraméterrel rendelkezik:
| 1 | Rajt | A naplózás kezdő időpontja a formátumbanHH:mm:ss |
| 2 | vége | Kijelentkezési idő a formátumbanHH:mm:ss |
| 3 | időzóna | Beállítja az időzónát. |
| 4 | onMatch | Hogyan lehet naplózni, ha a szűrőfeltétel igaz . Talán ACCEPT, DENYvagy NEUTRAL. Alapértelmezett NEUTRAL. |
| 5 | onMimatch | Hogyan lehet naplózni, ha a szűrő feltétele hamis . Talán ACCEPT, DENYvagy NEUTRAL. Alapértelmezett NEUTRAL. |
Állítsunk be egy szűrőt, amely minden nap hajnali 5-kor bekapcsolja a naplózást és 5:30-kor kikapcsolja. Az alábbiakban egy példa a teljes szűrőkonfigurációra:
<?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
A szűrő RegexFilterlehetővé teszi maszk (reguláris kifejezés) beállítását az üzenetek szűréséhez. Ennek a szűrőnek 4 paramétere van:
| 1 | regex | Megad egy reguláris kifejezést – egy maszkot, amely az üzenetek szűrésére szolgál.HH:mm:ss |
| 2 | userRawMsg | A maszk a formázás előtt (igaz) vagy a formázás után (hamis) kerül alkalmazásra az üzenetben. |
| 3 | onMatch | Hogyan lehet naplózni, ha a szűrőfeltétel igaz . Talán ACCEPT, DENYvagy NEUTRAL. Alapértelmezett NEUTRAL. |
| 4 | onMimatch | Hogyan lehet naplózni, ha a szűrő feltétele hamis . Talán ACCEPT, DENYvagy NEUTRAL. Alapértelmezett NEUTRAL. |
Állítsunk be egy szűrőt, amely csak a codegym szót tartalmazó üzeneteket engedélyezi. Az alábbiakban egy példa a teljes szűrőkonfigurációra:
<?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
A ThresholdFilter szűrő lehetővé teszi az üzenetszint szerinti szűrés beállítását. Csak 3 paramétere van:
| 1 | szint | Beállítja az üzenetnaplózási szint nevét: ERROR, DEBUG, … |
| 2 | onMatch | Hogyan lehet naplózni, ha a szűrőfeltétel igaz . Talán ACCEPT, DENYvagy NEUTRAL. Alapértelmezett NEUTRAL. |
| 3 | onMimatch | Hogyan lehet naplózni, ha a szűrő feltétele hamis . Talán ACCEPT, DENYvagy NEUTRAL. Alapértelmezett NEUTRAL. |
Állítsunk be egy szűrőt, amely csak a szintű üzeneteket engedélyezi DEBUG. Az alábbiakban egy példa a teljes szűrőkonfigurációra:
<?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