การวิจัยหลักในบทความนี้คือเนื้อหาที่เกี่ยวข้องของ log4j ไม่ได้พิมพ์สแต็กข้อยกเว้นดังนี้
เมื่อเร็ว ๆ นี้ปรากฏการณ์พบในบันทึกข้อผิดพลาดของระบบออนไลน์:
รหัสใช้ log4j เพื่อพิมพ์ข้อมูลสแต็กข้อยกเว้นของระบบรันไทม์ ไม่สามารถดูข้อมูลสแต็กได้ในบันทึกข้อผิดพลาดมีเพียงข้อมูลยกเว้นเท่านั้น นี่คือการระเบิดของโปรแกรมเมอร์ หากไม่มีข้อมูลสแต็กฉันจะตรวจสอบข้อบกพร่องได้อย่างไร
[01-15 11:29:26] [ข้อผิดพลาด] [org.apache.thrift.server.abstractnonblockingserver $ framebuffer: 524] ที่ไม่คาดคิด
ต่อมาฉันพบว่านี่เป็นการเพิ่มประสิทธิภาพของ JDK JVM จะเพิ่มประสิทธิภาพประสิทธิภาพ หากมีการโยนข้อยกเว้นบ่อยครั้งมันจะถูกคอมไพล์ใหม่และไม่พิมพ์สแต็กข้อยกเว้นอีกต่อไป
นอกจากนี้ยังค่อนข้างง่ายในการแก้ปัญหานี้ หากคุณไม่ต้องการตรวจสอบบันทึกก่อนหน้าทุกครั้งและดูสแต็กเพียงแค่เพิ่ม -xx: -OmitStackTraceinfastthrow ไปยังพารามิเตอร์เริ่มต้นคุณสามารถปิดการปรับให้เหมาะสมและบังคับให้สแต็กข้อยกเว้นพิมพ์ได้ สิ่งนี้อาจทำให้ไฟล์บันทึกมีขนาดใหญ่เกินไป แต่ไฟล์บันทึกในสายการผลิตก่อนวันนี้จะถูกบีบอัดดังนั้นจึงไม่รู้สึกว่าปัญหาไม่ใหญ่
[01-15 16:40:09] [ข้อผิดพลาด] [org.apache.thrift.server.abstractnonblockingserver $ framebuffer: 524] ที่ไม่คาดคิด
java.lang.nullpointerexception
ที่ com.iqiyi.ttbrain.recommend.selector.services.filterservice.filter2 (filterservice.java:42)
ที่ com.iqiyi.ttbrain.recommend.thrift.ifilterservice $ processor $ filter2.getResult (ifilterservice.java:181)
ที่ com.iqiyi.ttbrain.recommend.thrift.ifilterservice $ processor $ filter2.getResult (ifilterservice.java:166)
ที่ org.apache.thrift.processfunction.process (processfunction.java:39)
ที่ org.apache.thrift.tbaseprocessor.process (tbaseprocessor.java:39)
ที่ org.apache.thrift.server.abstractnonblockingserver $ framebuffer.invoke (AbstractNonblockingserver.java:518)
ที่ org.apache.thrift.server.invocation.run (Invocation.java:18)
ที่ java.util.concurrent.threadpoolexecutor.runworker (threadpoolexecutor.java:1145)
ที่ java.util.concurrent.threadpoolexecutor $ worker.run (threadpoolexecutor.java:615)
ที่ java.lang.thread.run (thread.java:745)
ข้างต้นคือทั้งหมดเกี่ยวกับบทความนี้เกี่ยวกับ log4j ไม่ได้พิมพ์สแต็กข้อยกเว้น ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!