Dostosuj logowanie w iOS

Logowanie w systemie iOS jest obsługiwane przez plik IOSLogHandler.java, co zastępuje java.util.logging.Handler. Aby ustawić ten zasób jako domyślny, dodaj zasób logging.properties do w aplikacji, jak widać w narzędziu LogManager.

Programowa zmiana modułu obsługi logowania

Moduł obsługi logowania możesz dodać automatycznie, korzystając z tego samego kodu, którego zmienia się w Javie:

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

Jeśli nie chcesz, aby istniejące moduły obsługi również działały, usuń je najpierw za pomocą:

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

Zmiana 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 określić ten moduł. (tak samo jak w aplikacjach Java):

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

    Ten plik może mieć dowolną nazwę, pod warunkiem że będzie ona używana podczas wczytywania.

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

  3. W przeciwieństwie do aplikacji w języku Java 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);
      }
    }