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

iOS günlük kaydı IOSLogHandler.java tarafından işlenir. Bu, java.util.logging.Handler değerlerini geçersiz kılar. Bunu varsayılan olarak ayarlamak için bir logging.properties kaynağı eklemeniz gerekir: LogManager'da gösterildiği gibi uygulamanız gerekir.

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

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

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

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

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

Günlük Kaydı İşleyicisini Mülk Dosyasıyla Değiştirme

  1. Logging.properties dosyası kullanarak varsayılan günlük kaydı işleyicisini değiştirmek için bu işleyiciyi belirtmeniz gerekir. örnekteki gibi (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. Sonra, login.properties dosyasını iOS kaynağı olarak projenize ekleyin.

  3. Java uygulamalarından farklı olarak, bir J2ObjC uygulamasının özellik dosyasını açıkça 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);
      }
    }