Tuỳ chỉnh tính năng ghi nhật ký trên iOS

Việc ghi nhật ký iOS do IOSLogHandler.java xử lý, ghi đè java.util.logging.Handler. Bạn có thể đặt chế độ này làm mặc định bằng cách thêm tài nguyên logging.properties vào ứng dụng của bạn, như thể hiện trong LogManager.

Thay đổi trình xử lý ghi nhật ký theo phương thức lập trình

Để thêm trình xử lý ghi nhật ký theo cách lập trình, hãy dùng chính mã mà bạn sẽ dùng để thay đổi trình xử lý đó trong Java:

LogManager.getLogger("").addHandler(myHandler);

Nếu bạn không muốn(các) trình xử lý hiện có cũng chạy, trước tiên hãy xoá chúng bằng cách sử dụng:

Logger logger = LogManager.getLogger("");
for (Handler h : logger.getHandlers()) {
  logger.removeHandler(h);
}

Thay đổi Trình xử lý nhật ký bằng một tệp thuộc tính

  1. Để thay đổi trình xử lý ghi nhật ký mặc định bằng tệp register.properties, bạn phải chỉ định trình xử lý đó như thế này (tương tự như với các ứng dụng Java):

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

    Tệp này có thể có bất kỳ tên nào, miễn là tên đó được sử dụng trong quá trình tải.

  2. Tiếp theo, hãy thêm tệp log.properties dưới dạng tài nguyên iOS vào dự án của bạn.

  3. Không giống như các ứng dụng Java, ứng dụng J2ObjC cần tải tệp thuộc tính một cách rõ ràng:

    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);
      }
    }