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

Tính năng ghi nhật ký iOS được xử lý bằng IOSLogHandler.java. Tính năng này sẽ ghi đè java.util.logging.Handler. Bạn có thể đặt mã này làm mặc định bằng cách thêm tài nguyên logging.properties vào ứng dụng, như minh hoạ 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ý bằng cách lập trình, hãy sử dụng cùng mã mà bạn sẽ 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 tại 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ý ghi nhật ký bằng tệp thuộc tính

  1. Để thay đổi trình xử lý ghi nhật ký mặc định bằng cách sử dụng tệp logcat.properties, bạn phải chỉ định trình xử lý đó như sau (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 khi tải.

  2. Tiếp theo, hãy thêm tệp logcat.properties làm 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 rõ ràng tệp thuộc tính:

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