Personaliza el registro en iOS

IOSLogHandler.java controla el registro de iOS, que anula java.util.logging.Handler. Puedes establecerla como predeterminada agregando un recurso logging.properties a la app, como se muestra en LogManager.

Cambia el controlador de Logging de manera programática

Para agregar de manera programática un controlador de registro, utiliza el mismo código que usarías para cambiarlo en Java:

LogManager.getLogger("").addHandler(myHandler);

Si no quieres que los controladores existentes también se ejecuten, quítalos primero mediante el siguiente comando:

Logger logger = LogManager.getLogger("");
for (Handler h : logger.getHandlers()) {
  logger.removeHandler(h);
}

Cambia el controlador de Logging con un archivo de propiedad

  1. Para cambiar el controlador de registro predeterminado con un archivo logging.properties, debes especificar ese controlador de la siguiente manera (al igual que con las aplicaciones de Java):

    handlers=mycompany.mylogger.MyIOSLogHandler
    java.util.logging.ConsoleHandler.level=ALL
    

    Este archivo puede tener cualquier nombre, siempre que se use durante la carga.

  2. A continuación, agrega el archivo logging.properties como un recurso de iOS a tu proyecto.

  3. A diferencia de las aplicaciones Java, una aplicación J2ObjC necesita cargar de manera explícita el archivo de propiedad:

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