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