گزارشگیری 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
برای تغییر کنترل کننده گزارش پیش فرض با استفاده از یک فایل logging.properties، باید آن دسته را به این صورت مشخص کنید (همانطور که در برنامه های جاوا وجود دارد):
handlers=mycompany.mylogger.MyIOSLogHandler java.util.logging.ConsoleHandler.level=ALL
این فایل می تواند هر نامی داشته باشد، به شرطی که در هنگام بارگذاری از آن نام استفاده شود.
سپس فایل logging.properties را به عنوان منبع iOS به پروژه خود اضافه کنید .
برخلاف برنامههای جاوا، یک برنامه 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); } }