5.1 รายการตัวกรอง
คนตัดไม้ช่วยให้คุณกำหนดค่าการกรองข้อความได้อย่างยอดเยี่ยม ในการทำเช่นนี้ เขามีตัวกรองสองสามโหลพร้อมพารามิเตอร์ทุกประเภท ตารางด้านล่างแสดงรายการยอดนิยม
| ตัวกรอง | คำอธิบาย | |
|---|---|---|
| 1 | ตัวกรองระเบิด | ให้คุณควบคุมความถี่ของข้อความต่อวินาทีสำหรับระดับการบันทึกที่กำหนด |
| 2 | ตัวกรองคอมโพสิต | ให้คุณตั้งค่าตัวกรองตามลำดับหลายรายการ |
| 3 | ตัวกรองเกณฑ์ไดนามิก | ให้คุณเปิดใช้งานการบันทึกโดยละเอียดหากพบข้อมูลบางอย่างในบันทึก |
| 4 | ตัวกรองแผนที่ | ให้คุณสร้างนิพจน์เชิงตรรกะที่ซับซ้อนสำหรับตัวกรองจากหลายพารามิเตอร์ |
| 5 | ตัวกรองเครื่องหมาย | อนุญาตให้คุณกรองข้อความตามแท็ก โดยต้องเพิ่มแท็กก่อนในระหว่างการบันทึกเหตุการณ์ |
| 6 | ตัวกรอง Regex | ให้คุณตั้งค่ามาสก์ - นิพจน์ทั่วไป |
| 7 | ตัวกรองข้อมูลโครงสร้าง | ให้คุณกรองข้อความตามข้อมูลบางอย่างในนั้น |
| 8 | ThreadContextMapFilter | ให้คุณจัดการตัวกรองตามข้อมูลที่นำมาจากบริบทของเธรดปัจจุบัน |
| 9 | ตัวกรองเกณฑ์ | ควบคุมการบันทึกตามระดับข้อความบันทึก |
| 10 | ตัวกรองเวลา | ให้คุณเปิดและปิดตัวกรองตามเวลาที่กำหนด |
ด้านล่างนี้เราจะพูดถึงเพียงสามคนเท่านั้น คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับตัวกรองเหล่านี้ได้จากเว็บไซต์อย่างเป็นทางการ
5.2 ตัวกรองเวลา
ตัวกรองTimeFilterอนุญาตให้คุณเปิดและปิดตัวกรองในช่วงเวลาหนึ่ง โดยมีพารามิเตอร์ 5 ตัว:
| 1 | เริ่ม | การบันทึกเวลาเริ่มต้นในรูปแบบHH:mm:ss |
| 2 | จบ | เวลาออกจากระบบในรูปแบบHH:mm:ss |
| 3 | เขตเวลา | ตั้งเขตเวลา |
| 4 | onMatch | วิธีเข้าสู่ระบบหากเงื่อนไขตัวกรองเป็นจริง อาจACCEPTจะDENYหรือNEUTRAL. เริ่มต้นNEUTRAL. |
| 5 | บนไม่ตรงกัน | วิธีเข้าสู่ระบบหากเงื่อนไขตัวกรองเป็นเท็จ อาจACCEPTจะDENYหรือNEUTRAL. เริ่มต้นNEUTRAL. |
มาตั้งค่าตัวกรองที่จะเปิดการบันทึกเวลา 05.00 น. และปิดเวลา 05.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 ตัวกรอง Regex
ตัวกรองRegexFilterช่วยให้คุณตั้งค่ามาสก์ (นิพจน์ทั่วไป) สำหรับการกรองข้อความ ตัวกรองนี้มี 4 พารามิเตอร์:
| 1 | regex | ระบุนิพจน์ทั่วไป - มาสก์ที่ใช้ในการกรองข้อความHH:mm:ss |
| 2 | ใช้ RawMsg | มาสก์ถูกนำไปใช้ในข้อความก่อนการจัดรูปแบบ (จริง) หรือหลังการจัดรูปแบบ (เท็จ) |
| 3 | onMatch | วิธีเข้าสู่ระบบหากเงื่อนไขตัวกรองเป็นจริง อาจ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 ตัวกรองเกณฑ์
ตัวกรองThresholdFilterช่วยให้คุณกำหนดค่าการกรองตามระดับข้อความได้ มีเพียง 3 พารามิเตอร์:
| 1 | ระดับ | ตั้งชื่อระดับการบันทึกข้อความ: ERROR, DEBUG, … |
| 2 | onMatch | วิธีเข้าสู่ระบบหากเงื่อนไขตัวกรองเป็นจริง อาจ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