התאמה אישית של רישום ביומן iOS

הרישום ב-iOS מטופל על ידי IOSLogHandler.java והשירות java.util.logging.Handler מבטל את הצורך. אפשר להגדיר אותו כברירת המחדל על ידי הוספת משאב logging.properties לאפליקציה, כפי שמוצג ב-LogManager.

שינוי הגורם המטפל ברישום ביומן באופן פרוגרמטי

כדי להוסיף handler של רישום ביומן באופן פרוגרמטי, צריך להשתמש באותו הקוד שבו משתמשים כדי לשנות אותו ב-Java:

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

אם לא רוצים שגם רכיבי ה-handler הקיימים יפעלו, קודם צריך להסיר אותם באמצעות:

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

שינוי מטפל הרישום ביומן באמצעות קובץ מאפיין

  1. כדי לשנות את ה-handler שמוגדר כברירת מחדל לרישום ביומן באמצעות קובץ Log.properties, צריך לציין את ה-handler באופן הזה (כמו ביישומי Java):

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

    לקובץ הזה יכול להיות כל שם, כל עוד נעשה שימוש בשם הזה במהלך הטעינה.

  2. לאחר מכן, מוסיפים את הקובץ Log.properties כמשאב iOS לפרויקט שלך.

  3. בשונה מיישומי Java, יישום J2ObjC צריך לטעון באופן מפורש את קובץ המאפיין:

    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);
      }
    }