iOS 로깅은 IOSLogHandler.java에 의해 처리됩니다.
이는 java.util.logging.Handler보다 우선 적용됩니다. logging.properties 리소스를
LogManager에 표시된 대로 앱을 실행합니다.
프로그래매틱 방식으로 로깅 핸들러 변경
로깅 핸들러를 프로그래매틱 방식으로 추가하려면 다음과 같이 Java에서 변경할 때 사용하는 것과 동일한 코드를 사용하세요.
LogManager.getLogger("").addHandler(myHandler);
기존 핸들러도 실행하지 않으려면 먼저 다음을 사용하여 삭제합니다.
Logger logger = LogManager.getLogger("");
for (Handler h : logger.getHandlers()) {
logger.removeHandler(h);
}
속성 파일로 로깅 핸들러 변경
Logging.properties 파일을 사용하여 기본 로깅 핸들러를 변경하려면 해당 핸들러를 지정해야 합니다. 다음과 같습니다 (Java 애플리케이션과 동일).
handlers=mycompany.mylogger.MyIOSLogHandler java.util.logging.ConsoleHandler.level=ALL이 파일은 로드하는 동안 사용되는 이름이라면 무엇이든 지정할 수 있습니다.
다음으로 프로젝트에 logging.properties 파일을 iOS 리소스로 추가합니다.
Java 애플리케이션과 달리 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); } }