Кто-нибудь знает, как настроить Apache Commons Logger? Кажется, у людей это заработало, но я с треском проваливаюсь.
Моя текущая настройка довольно проста:
build.gradle:
compile('commons-logging:commons-logging:1.2')
j2objcTranslation 'commons-logging:commons-logging:1.2'
Инициализация регистратора:
private static Log logger = LogFactory.getLog(ApiService.class);
также есть довольно простой файл logging.properties
, могу прикрепить, если нужно.
После перевода и запуска на эмуляторе iOS возникает следующее исключение:
2016-09-21 19:39:35.960 temple8-ios[32544:598370] Fucking logger
2016-09-21 19:39:36.048 temple8-ios[32544:598370] *** Terminating app due to uncaught exception 'OrgApacheCommonsLoggingLogConfigurationException', reason: 'java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl (Caused by java.lang.ClassNotFoundException: org.apache.commons.logging.impl.LogFactoryImpl)'
*** First throw call stack:
(
0 CoreFoundation 0x000000010e471d85 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010d40cdeb objc_exception_throw + 48
2 temple8-ios 0x000000010c056a27 OrgApacheCommonsLoggingLogFactory_newFactoryWithNSString_withJavaLangClassLoader_withJavaLangClassLoader_ + 327
3 temple8-ios 0x000000010c059d06 OrgApacheCommonsLoggingLogFactory_getFactory + 3030
4 temple8-ios 0x000000010c056026 OrgApacheCommonsLoggingLogFactory_getLogWithIOSClass_ + 70
Изменить 1
@tball предоставил несколько замечательных деталей в своем ответе, но это привело к новой проблеме. Я добавил статическую ссылку на LogFactoryImpl
и включил java.util.logging.IOSLogHandler
в проект. При попытке перевести этот класс компилятор выдает следующую ошибку:
/java/util/logging/IOSLogHandler.m:58:17: error: method definition for 'IOS_LOG_MANAGER_DEFAULTS' not found [-Werror,-Wincomplete-implementation]
@implementation JavaUtilLoggingIOSLogHandler
^
java/util/logging/IOSLogHandler.h:34:1: note: method 'IOS_LOG_MANAGER_DEFAULTS' declared here
+ (NSString *)IOS_LOG_MANAGER_DEFAULTS;
^
1 error generated.
Я использую последнюю версию IOSLogHandler
из репозиторий j2objC github и разместил сгенерированный IOSLogHandler.m
в суть.
Большое спасибо за помощь!