5.1 Senarai penapis
Logger membolehkan anda mengkonfigurasi penapisan mesej dengan sangat sejuk. Untuk melakukan ini, dia mempunyai beberapa dozen penapis dengan pelbagai parameter. Jadual di bawah menunjukkan yang paling popular.
| Penapis | Penerangan | |
|---|---|---|
| 1 | Penapis Burst | Membolehkan anda mengawal kekerapan mesej sesaat untuk tahap pengelogan tertentu. |
| 2 | Penapis Komposit | Membolehkan anda menetapkan berbilang penapis berjujukan. |
| 3 | Penapis Ambang Dinamik | Membolehkan anda mendayakan pengelogan terperinci jika maklumat tertentu ditemui dalam log. |
| 4 | Penapis Peta | Membolehkan anda membina ungkapan logik yang kompleks untuk penapis daripada beberapa parameter. |
| 5 | Penapis Penanda | Membolehkan anda menapis mesej mengikut teg, teg mesti ditambah dahulu semasa pengelogan acara. |
| 6 | RegexFilter | Membolehkan anda menetapkan topeng - ungkapan biasa. |
| 7 | StructuredDataFilter | Membolehkan anda menapis mesej dengan kehadiran data tertentu di dalamnya. |
| 8 | ThreadContextMapFilter | Membolehkan anda mengurus penapis berdasarkan data yang diambil daripada konteks urutan semasa. |
| 9 | Penapis Ambang | Mengawal pengelogan berdasarkan tahap mesej log. |
| 10 | Penapis Masa | Membolehkan anda menghidupkan dan mematikan penapis pada masa tertentu. |
Di bawah ini kita akan bercakap tentang hanya tiga daripadanya. Anda boleh mengetahui lebih lanjut tentang penapis ini di tapak web rasmi mereka .
5.2 Penapis Masa
Penapis TimeFiltermembolehkan anda menghidupkan dan mematikan penapis pada masa tertentu, ia mempunyai 5 parameter:
| 1 | mulakan | Masa mula log dalam formatHH:mm:ss |
| 2 | tamat | Masa log keluar dalam formatHH:mm:ss |
| 3 | Zon masa | Menetapkan zon waktu. |
| 4 | onMatch | Bagaimana untuk log jika keadaan penapis adalah benar . Mungkin ACCEPT, DENYatau NEUTRAL. Lalai NEUTRAL. |
| 5 | pada Tidak Padan | Bagaimana untuk log jika keadaan penapis adalah palsu . Mungkin ACCEPT, DENYatau NEUTRAL. Lalai NEUTRAL. |
Mari sediakan penapis yang akan menghidupkan pengelogan pada pukul 5 pagi dan matikannya pada pukul 5:30 pagi setiap hari. Contoh dengan konfigurasi penapis lengkap adalah di bawah:
<?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 Penapis Regex
Penapis RegexFiltermembenarkan anda menetapkan topeng (ungkapan biasa) untuk menapis mesej. Penapis ini mempunyai 4 parameter:
| 1 | regex | Menentukan ungkapan biasa - topeng yang digunakan untuk menapis mesej.HH:mm:ss |
| 2 | gunakanRawMsg | Topeng digunakan dalam mesej sebelum memformat (benar) atau selepas memformat (salah) |
| 3 | onMatch | Bagaimana untuk log jika keadaan penapis adalah benar . Mungkin ACCEPT, DENYatau NEUTRAL. Lalai NEUTRAL. |
| 4 | pada Tidak Padan | Bagaimana untuk log jika keadaan penapis adalah palsu . Mungkin ACCEPT, DENYatau NEUTRAL. Lalai NEUTRAL. |
Mari kita sediakan penapis yang hanya membenarkan mesej yang mengandungi perkataan codegym. Contoh dengan konfigurasi penapis lengkap adalah di bawah:
<?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 Penapis Ambang
Penapis ThresholdFilter membolehkan anda mengkonfigurasi penapisan mengikut tahap mesej. Ia hanya mempunyai 3 parameter:
| 1 | tahap | Menetapkan nama tahap pengelogan mesej: ERROR, DEBUG, … |
| 2 | onMatch | Bagaimana untuk log jika keadaan penapis adalah benar . Mungkin ACCEPT, DENYatau NEUTRAL. Lalai NEUTRAL. |
| 3 | pada Tidak Padan | Bagaimana untuk log jika keadaan penapis adalah palsu . Mungkin ACCEPT, DENYatau NEUTRAL. Lalai NEUTRAL. |
Mari sediakan penapis yang hanya membenarkan mesej tahap DEBUG. Contoh dengan konfigurasi penapis lengkap adalah di bawah:
<?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