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