I want to search the iPhone address book for a specific phone number, and then retrieve the contact name. I am currently looping through all contacts and extracting the multivalue properties and comparing against the value. This is taking way too much time. I have read the Apple addressbook guide, and they say:
"accomplish other kinds of searches, use the function ABAddressBookCopyArrayOfAllPeople, а затем отфильтруйте результаты, используя и вместо этого предпочел бы, чтобы это сохранялось в собственном файле журнала.
Конечным результатом, который я хотел бы, был файл с именем
log-file.txt
со всеми журналами из приложения, кроме журналов сторонних разработчиков. . И второй файл с именемlog-file-3rdparty.txt
с ведением журнала только из стороннего приложения. Проблема, с которой я столкнулся, заключается в настройке Log4Net на два отдельных регистратора. Я уже пробовал создать второй LogFileAppender и добавить его в корень, однако все это приводит к тому, что одни и те же операторы ведения журнала помещаются в оба регистратора.В настоящее время в приложении у нас есть следующий оператор GetLogger. В идеале это должно оставаться неизменным, поэтому существующие журналы не меняются. Мне нужен новый регистратор, на который не влияет этот оператор, а вместо этого создается экземпляр исключительно для стороннего ведения журнала.
закрытый только для чтения ILog _log = LogManager.GetLogger (System.Reflection.MethodBase.GetCurrentMethod (). DeclaringType);
И App.Config следующим образом.
< log4net> <logger name="MyApp.Logging"> <level value="DEBUG"/> </logger> <root> <level value="ALL" /> <appender-ref ref="LogFileAppender" /> </root> <appender name="LogFileAppender" type="log4net.Appender.FileAppender" > <param name="File" value="log-file.txt" /> <param name="AppendToFile" value="true" /> <layout type="log4net.Layout.PatternLayout"> <param name="Header" value=" [Application started] " /> <param name="Footer" value="[Application Finished] "/> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> </appender> </ log4net>
Вы можете помочь?
EDIT
Если это имеет значение. События стороннего журнала регистрируются в том же классе, из которого также запускаются некоторые из событий журнала моего приложения, потому что этот класс отвечает за управление сторонним программным обеспечением. Это проблема? У меня есть некоторые подозрения, что log4net может различать, какой регистратор создать на основе имен классов, и если это так, нужно ли мне реорганизовать стороннее ведение журнала до его собственного класса?