自訂 iOS 紀錄

iOS 記錄由 IOSLogHandler.java 處理,這會覆寫 java.util.logging.Handler。如要設為預設設定,您可以在應用程式中新增 logging.properties 資源,如 LogManager 所示。

透過程式輔助方式變更 Logging 處理常式

如要透過程式新增記錄處理常式,請使用在 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. 與 Java 應用程式不同,J2ObjC 應用程式需要明確載入屬性檔案:

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