ปรับแต่ง iOS Logging

การบันทึก 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);
}

การเปลี่ยนเครื่องจัดการการบันทึกด้วยไฟล์พร็อพเพอร์ตี้

  1. หากต้องการเปลี่ยนเครื่องจัดการการบันทึกเริ่มต้นโดยใช้ไฟล์ Logging.properties คุณต้องระบุเครื่องจัดการนั้น ดังนี้ (เช่นเดียวกับแอปพลิเคชัน Java):

    handlers=mycompany.mylogger.MyIOSLogHandler
    java.util.logging.ConsoleHandler.level=ALL
    

    ไฟล์นี้มีชื่อใดก็ได้ตราบใดที่มีการใช้ชื่อนั้นระหว่างการโหลด

  2. จากนั้นให้เพิ่มไฟล์ Logging.properties เป็นทรัพยากร iOS ลงในโปรเจ็กต์

  3. แอปพลิเคชัน 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);
      }
    }