Personaliza el registro en iOS

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

Cambia el controlador de Logging de manera programática

Para agregar un controlador de registros de manera programática, usa 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, primero debes quitarlos con lo siguiente:

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

Cómo cambiar el controlador de registros con un archivo de propiedad

  1. Para cambiar el controlador de registro predeterminado mediante 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 ese nombre 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 de Java, una aplicación J2ObjC debe cargar explícitamente 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);
      }
    }