Menyesuaikan Logging iOS

Logging iOS ditangani oleh IOSLogHandler.java, yang menggantikan java.util.logging.Handler. Anda dapat menetapkannya sebagai default dengan menambahkan resource logging.properties ke aplikasi, seperti yang ditunjukkan dalam LogManager.

Mengubah Pengendali Logging Secara Terprogram

Untuk menambahkan pengendali logging secara terprogram, gunakan kode yang sama dengan yang Anda gunakan untuk mengubahnya di Java:

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

Jika Anda tidak ingin pengendali yang ada juga berjalan, hapus pengendali tersebut terlebih dahulu menggunakan:

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

Mengubah Pengendali Logging dengan File Properti

  1. Untuk mengubah pengendali logging default menggunakan file logging.properties, Anda harus menentukan pengendali tersebut seperti ini (sama seperti aplikasi Java):

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

    File ini dapat diberi nama apa saja selama nama tersebut digunakan saat pemuatan.

  2. Selanjutnya, tambahkan file logging.properties sebagai resource iOS ke project Anda.

  3. Tidak seperti aplikasi Java, aplikasi J2ObjC perlu memuat file properti secara eksplisit:

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