5.1 Daftar filter
Logger memungkinkan Anda untuk mengonfigurasi pemfilteran pesan dengan sangat keren. Untuk melakukan ini, dia memiliki beberapa lusin filter dengan segala macam parameter. Tabel di bawah ini menunjukkan yang paling populer.
Filter | Keterangan | |
---|---|---|
1 | BurstFilter | Memungkinkan Anda mengontrol frekuensi pesan per detik untuk tingkat logging tertentu. |
2 | Filter Komposit | Memungkinkan Anda menyetel beberapa filter berurutan. |
3 | DynamicThresholdFilter | Memungkinkan Anda untuk mengaktifkan pendataan mendetail jika informasi tertentu ditemukan di log. |
4 | MapFilter | Memungkinkan Anda membuat ekspresi logis kompleks untuk filter dari beberapa parameter. |
5 | MarkerFilter | Memungkinkan Anda memfilter pesan berdasarkan tag, tag harus ditambahkan terlebih dahulu selama pencatatan peristiwa. |
6 | RegexFilter | Memungkinkan Anda menyetel topeng - ekspresi reguler. |
7 | StructuredDataFilter | Memungkinkan Anda memfilter pesan dengan adanya data tertentu di dalamnya. |
8 | ThreadContextMapFilter | Memungkinkan Anda mengelola filter berdasarkan data yang diambil dari konteks utas saat ini. |
9 | ThresholdFilter | Mengontrol logging berdasarkan level pesan log. |
10 | Filter Waktu | Memungkinkan Anda mengaktifkan dan menonaktifkan filter pada waktu tertentu. |
Di bawah ini kita akan berbicara tentang hanya tiga dari mereka. Anda dapat mempelajari lebih lanjut tentang filter ini di situs web resmi mereka .
5.2 Filter Waktu
Filter TimeFilter
memungkinkan Anda untuk menghidupkan dan mematikan filter pada waktu tertentu, memiliki 5 parameter:
1 | awal | Mencatat waktu mulai dalam formatHH:mm:ss |
2 | akhir | Keluar waktu dalam formatHH:mm:ss |
3 | zona waktu | Mengatur zona waktu. |
4 | onMatch | Bagaimana cara login jika kondisi filter benar . Mungkin ACCEPT , DENY atau NEUTRAL . Bawaan NEUTRAL . |
5 | onMismatch | Cara masuk jika kondisi filter salah . Mungkin ACCEPT , DENY atau NEUTRAL . Bawaan NEUTRAL . |
Mari siapkan filter yang akan mengaktifkan pencatatan pada jam 5 pagi dan mematikannya pada jam 5:30 setiap hari. Contoh dengan konfigurasi filter lengkap di bawah ini:
<?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 Filter Regex
Filter RegexFilter
memungkinkan Anda menyetel topeng (ekspresi reguler) untuk memfilter pesan. Filter ini memiliki 4 parameter:
1 | regex | Menentukan ekspresi reguler - topeng yang digunakan untuk memfilter pesan.HH:mm:ss |
2 | gunakanRawMsg | Topeng diterapkan dalam pesan sebelum pemformatan (benar) atau setelah pemformatan (salah) |
3 | onMatch | Bagaimana cara login jika kondisi filter benar . Mungkin ACCEPT , DENY atau NEUTRAL . Bawaan NEUTRAL . |
4 | onMismatch | Cara masuk jika kondisi filter salah . Mungkin ACCEPT , DENY atau NEUTRAL . Bawaan NEUTRAL . |
Mari siapkan filter yang hanya mengizinkan pesan yang mengandung kata codegym. Contoh dengan konfigurasi filter lengkap di bawah ini:
<?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
Filter ThresholdFilter memungkinkan Anda mengonfigurasi pemfilteran berdasarkan tingkat pesan. Ini hanya memiliki 3 parameter:
1 | tingkat | Menetapkan nama tingkat pencatatan pesan: ERROR , DEBUG , … |
2 | onMatch | Bagaimana cara login jika kondisi filter benar . Mungkin ACCEPT , DENY atau NEUTRAL . Bawaan NEUTRAL . |
3 | onMismatch | Cara masuk jika kondisi filter salah . Mungkin ACCEPT , DENY atau NEUTRAL . Bawaan NEUTRAL . |
Mari siapkan filter yang hanya mengizinkan pesan level DEBUG
. Contoh dengan konfigurasi filter lengkap di bawah ini:
<?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