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ő TimeFilter
lehető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 , DENY vagy NEUTRAL . Alapértelmezett NEUTRAL . |
5 | onMimatch | Hogyan lehet naplózni, ha a szűrő feltétele hamis . Talán ACCEPT , DENY vagy 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ő RegexFilter
lehető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 , DENY vagy NEUTRAL . Alapértelmezett NEUTRAL . |
4 | onMimatch | Hogyan lehet naplózni, ha a szűrő feltétele hamis . Talán ACCEPT , DENY vagy 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 , DENY vagy NEUTRAL . Alapértelmezett NEUTRAL . |
3 | onMimatch | Hogyan lehet naplózni, ha a szűrő feltétele hamis . Talán ACCEPT , DENY vagy 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