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.properties 檔案變更預設記錄處理常式,您必須指定如下的處理常式 (與 Java 應用程式相同):
handlers=mycompany.mylogger.MyIOSLogHandler java.util.logging.ConsoleHandler.level=ALL
這個檔案可以隨意使用任何名稱,但載入期間需使用這個名稱。
接下來,請在專案中將 logging.properties 檔案新增為 iOS 資源,
與 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); } }