iOS Günlük Kaydı'nı özelleştirme

iOS günlük kaydı, java.util.logging.Handler değerini geçersiz kılan IOSLogHandler.java tarafından işlenir. LogManager'da gösterildiği gibi, uygulamanıza bir logging.properties kaynağı ekleyerek bunu varsayılan olarak ayarlayabilirsiniz.

Günlük Kaydı İşleyicisini Programatik Olarak Değiştirme

Programlı bir şekilde günlük kaydı işleyici eklemek için, Java'da günlük kaydı işleyicisini değiştirmek için kullandığınız kodu kullanın:

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

Mevcut işleyicilerin de çalışmasını istemiyorsanız önce şunları kullanarak kaldırın:

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

Günlük Kaydı İşleyicisini Özellik Dosyasıyla Değiştirme

  1. Bir Logging.properties dosyası kullanarak varsayılan günlük kaydı işleyicisini değiştirmek için bu işleyiciyi aşağıdaki şekilde belirtmeniz gerekir (Java uygulamalarında olduğu gibi):

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

    Yükleme sırasında kullanıldığı sürece bu dosyanın herhangi bir adı olabilir.

  2. Daha sonra, projenize Log.properties dosyasını iOS kaynağı olarak ekleyin.

  3. Java uygulamalarından farklı olarak, bir J2ObjC uygulamasının şu özellik dosyasını açık bir şekilde yüklemesi gerekir:

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