Das iOS-Logging wird von IOSLogHandler.java verwaltet,
wodurch java.util.logging.Handler
überschrieben wird. Sie können sie als Standard festlegen, indem Sie eine logging.properties
-Ressource zu
wie in LogManager gezeigt.
Logging-Handler programmatisch ändern
Wenn Sie einen Logging-Handler programmatisch hinzufügen möchten, verwenden Sie denselben Code, mit dem Sie ihn in Java ändern würden:
LogManager.getLogger("").addHandler(myHandler);
Wenn Sie nicht möchten, dass die vorhandenen Handler ebenfalls ausgeführt werden, entfernen Sie sie zuerst mit:
Logger logger = LogManager.getLogger("");
for (Handler h : logger.getHandlers()) {
logger.removeHandler(h);
}
Logging-Handler mit einer Eigenschaftsdatei ändern
Wenn Sie den Standard-Logging-Handler mithilfe einer Datei „logging.properties“ ändern möchten, müssen Sie diesen Handler angeben (genau wie bei Java-Anwendungen):
handlers=mycompany.mylogger.MyIOSLogHandler java.util.logging.ConsoleHandler.level=ALL
Diese Datei kann einen beliebigen Namen haben, solange dieser Name beim Laden verwendet wird.
Als Nächstes fügen Sie Ihrem Projekt die Datei „logging.properties“ als iOS-Ressource hinzu.
Im Gegensatz zu Java-Anwendungen muss eine J2ObjC-Anwendung die Eigenschaftsdatei explizit laden:
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); } }