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