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

使用屬性檔案變更 Logging 處理常式

  1. 如要使用記錄.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);
      }
    }