Dostosuj logowanie w iOS

Logowanie w iOS jest obsługiwane przez plik IOSLogHandler.java, który zastępuje java.util.logging.Handler. Możesz ustawić go jako domyślny, dodając do aplikacji zasób logging.properties, jak pokazano w narzędziu LogManager.

Zautomatyzowana zmiana modułu obsługi logowania

Aby programowo dodać moduł obsługi logowania, użyj tego samego kodu, co w przypadku Javy:

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

Jeśli nie chcesz, aby istniejące moduły obsługi również były uruchamiane, najpierw je usuń, używając:

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

Zmienianie modułu obsługi logowania za pomocą pliku właściwości

  1. Aby zmienić domyślny moduł obsługi logowania za pomocą pliku logging.properties, musisz go określić w taki sposób (tak samo jak w przypadku aplikacji Java):

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

    Ten plik może mieć dowolną nazwę, pod warunkiem że zostanie ona użyta podczas wczytywania.

  2. Następnie dodaj plik logging.properties jako zasób iOS do projektu.

  3. W przeciwieństwie do aplikacji w Javie aplikacja J2ObjC musi jawnie wczytać plik właściwości:

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