تخصيص تسجيل iOS

تتم معالجة تسجيل نظام التشغيل iOS من خلال IOSLogHandler.java الذي يلغي java.util.logging.Handler. يمكنك ضبطه كإعداد تلقائي من خلال إضافة مورد logging.properties إلى تطبيقك، كما هو موضّح في LogManager.

تغيير معالج التسجيل آليًا

لإضافة معالج تسجيل برمجيًا، استخدم نفس الرمز الذي يمكنك استخدامه لتغييره في Java:

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

إذا كنت لا تريد أيضًا تشغيل المعالجات الحالية، يمكنك إزالتها أولاً باستخدام:

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

تغيير معالج التسجيل باستخدام ملف خصائص

  1. لتغيير معالج التسجيل الافتراضي باستخدام ملف record.properties، يجب تحديد هذا المعالج مثل هذا (كما هو الحال مع تطبيقات جافا):

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

    يمكن أن يكون لهذا الملف أي اسم طالما تم استخدام هذا الاسم أثناء التحميل.

  2. بعد ذلك، أضِف الملف logging.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);
      }
    }