Настроить ведение журнала iOS

Ведение журнала iOS обрабатывается IOSLogHandler.java , который переопределяет java.util.logging.Handler . Вы можете установить его по умолчанию, добавив ресурс logging.properties в свое приложение, как показано в LogManager .

Программное изменение обработчика журналирования

Чтобы программно добавить обработчик журналирования, используйте тот же код, который вы использовали бы для его изменения в 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);
      }
    }