การบันทึก iOS ได้รับการจัดการโดย IOSLogHandler.java ซึ่งจะลบล้าง java.util.logging.Handler
โดยตั้งเป็นค่าเริ่มต้นได้โดยการเพิ่มทรัพยากร logging.properties
ลงในแอป ดังที่แสดงใน LogManager
การเปลี่ยนเครื่องจัดการการบันทึกแบบเป็นโปรแกรม
หากต้องการเพิ่มเครื่องจัดการการบันทึกทางโปรแกรม ให้ใช้โค้ดเดียวกับที่คุณใช้เปลี่ยนแปลงใน Java
LogManager.getLogger("").addHandler(myHandler);
หากคุณไม่ต้องการให้ตัวแฮนเดิลที่มีอยู่ทำงานด้วย ให้นำเครื่องจัดการที่มีอยู่ออกก่อนโดยใช้คำสั่งต่อไปนี้
Logger logger = LogManager.getLogger("");
for (Handler h : logger.getHandlers()) {
logger.removeHandler(h);
}
การเปลี่ยนเครื่องจัดการการบันทึกด้วยไฟล์พร็อพเพอร์ตี้
หากต้องการเปลี่ยนเครื่องจัดการการบันทึกเริ่มต้นโดยใช้ไฟล์ Logging.properties คุณต้องระบุเครื่องจัดการดังกล่าว (เช่นเดียวกับแอปพลิเคชัน Java) ดังนี้
handlers=mycompany.mylogger.MyIOSLogHandler java.util.logging.ConsoleHandler.level=ALL
ไฟล์นี้จะมีชื่อใดก็ได้ ตราบใดที่มีการใช้ชื่อนั้นในระหว่างการโหลด
จากนั้นเพิ่มไฟล์ Logging.properties เป็นทรัพยากร iOS ให้กับโปรเจ็กต์
แอปพลิเคชัน J2ObjC จะต้องโหลดไฟล์คุณสมบัติอย่างชัดเจน ซึ่งต่างจากแอปพลิเคชัน Java
static { // Fetch a logger in case the following leaves logging in a bad state, such // as not adding the logging.properties resource or using a different name. Logger log = Logger.getLogger("configLogger"); try { InputStream loggingProperties = SomeClass.class.getResourceAsStream("logging.properties"); LogManager.getLogManager().readConfiguration(loggingProperties); } catch (IOException exception) { log.log(Level.SEVERE, "Error in loading configuration", exception); } }