Das iOS-Logging wird von IOSLogHandler.java ausgeführt, das java.util.logging.Handler
überschreibt. Sie können sie als Standard festlegen, indem Sie Ihrer Anwendung eine logging.properties
-Ressource hinzufügen, wie in LogManager gezeigt.
Logging-Handler programmatisch ändern
Um einen Protokollierungs-Handler programmatisch hinzuzufügen, verwenden Sie denselben Code, den Sie verwenden würden, um ihn in Java zu ändern:
LogManager.getLogger("").addHandler(myHandler);
Wenn Sie nicht möchten, dass die vorhandenen Handler ebenfalls ausgeführt werden, entfernen Sie sie zuerst mit dem folgenden Befehl:
Logger logger = LogManager.getLogger("");
for (Handler h : logger.getHandlers()) {
logger.removeHandler(h);
}
Logging-Handler mit einer Attributdatei ändern
Wenn Sie den Standard-Logging-Handler mithilfe einer Datei „logging.properties“ ändern möchten, müssen Sie diesen Handler wie bei Java-Anwendungen angeben:
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.
Anders als bei Java-Anwendungen muss bei einer J2ObjC-Anwendung die Eigenschaftsdatei explizit geladen werden:
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); } }