สมมติว่าคุณตรวจพบข้อยกเว้นและรับสิ่งต่อไปนี้ในเอาต์พุตมาตรฐาน (เช่นพูดคอนโซล) หากคุณทำe.printStackTrace () :
java.io.FileNotFoundException: so.txt
at java.io.FileInputStream.<init>(FileInputStream.java)
at ExTest.readMyFile(ExTest.java:19)
at ExTest.main(ExTest.java:7)
ตอนนี้ฉันต้องการส่งสิ่งนี้แทนคนตัดไม้เช่น, พูด, log4j เพื่อรับสิ่งต่อไปนี้:
31947 [AWT-EventQueue-0] ERROR Java.io.FileNotFoundException: so.txt
32204 [AWT-EventQueue-0] ERROR at java.io.FileInputStream.<init>(FileInputStream.java)
32235 [AWT-EventQueue-0] ERROR at ExTest.readMyFile(ExTest.java:19)
32370 [AWT-EventQueue-0] ERROR at ExTest.main(ExTest.java:7)
ฉันจะทำสิ่งนี้ได้อย่างไร
try {
...
} catch (Exception e) {
final String s;
... // <-- What goes here?
log.error( s );
}