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
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.
Następnie dodaj plik logging.properties jako zasób iOS do projektu.
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); } }