Personnaliser la journalisation iOS

La journalisation iOS est gérée par IOSLogHandler.java. qui remplace java.util.logging.Handler. Vous pouvez la définir comme ressource par défaut en ajoutant une ressource logging.properties à votre application, comme indiqué dans LogManager.

Modifier le gestionnaire de journalisation par programmation

Pour ajouter un gestionnaire de journalisation par programmation, utilisez le même code que pour le modifier en Java:

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

Si vous ne souhaitez pas que les gestionnaires existants s'exécutent également, commencez par les supprimer à l'aide de la commande suivante:

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

Modifier le gestionnaire de journalisation avec un fichier de propriétés

  1. Pour modifier le gestionnaire de journalisation par défaut à l'aide d'un fichier logging.properties, vous devez spécifier ce gestionnaire. comme ceci (comme pour les applications Java):

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

    Vous pouvez attribuer n'importe quel nom à ce fichier, à condition que celui-ci soit utilisé lors du chargement.

  2. Ensuite, ajoutez le fichier logging.properties en tant que ressource iOS à votre projet.

  3. Contrairement aux applications Java, une application J2ObjC doit charger explicitement le fichier de propriétés:

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