ثبت نام iOS را سفارشی کنید

گزارش‌گیری iOS توسط IOSLogHandler.java انجام می‌شود که java.util.logging.Handler را لغو می‌کند. همانطور که در LogManager نشان داده شده است، می توانید با افزودن یک منبع logging.properties به برنامه خود، آن را به عنوان پیش فرض تنظیم کنید.

تغییر برنامه نویسی Logging Handler

برای افزودن برنامه‌نویسی یک کنترل کننده گزارش، از همان کدی که برای تغییر آن در جاوا استفاده می‌کنید استفاده کنید:

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

اگر نمی‌خواهید کنترلگر(های) موجود نیز اجرا شوند، ابتدا آنها را با استفاده از:

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

تغییر Logging Handler با فایل Property

  1. برای تغییر کنترل کننده گزارش پیش فرض با استفاده از یک فایل logging.properties، باید آن دسته را به این صورت مشخص کنید (همانطور که در برنامه های جاوا وجود دارد):

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

    این فایل می تواند هر نامی داشته باشد، به شرطی که در هنگام بارگذاری از آن نام استفاده شود.

  2. سپس فایل logging.properties را به عنوان منبع iOS به پروژه خود اضافه کنید .

  3. برخلاف برنامه‌های جاوا، یک برنامه 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);
      }
    }