#visual-studio #visual-studio-2012 #logging #windows-phone-8 #ibm-mobilefirst
#visual-studio #visual-studio-2012 #ведение журнала #windows-phone-8 #ibm-mobilefirst
Вопрос:
Я разрабатываю приложение Worklight для Windows Phone 8. При сборке на устройство через Visual Studio 2012 я вижу сообщения, зарегистрированные через WL.Метод отладки Logger в консоли Visual Studio. Однако я не вижу никаких сообщений, которые были зарегистрированы с использованием WL.Метод ошибки регистратора.
Я не видел никаких других консолей в Visual Studio и WL.Документация Logger не дает большой помощи — единственная ссылка на Visual Studio — «Сообщения отладки отображаются в консоли Microsoft Visual Studio 2012». — что явно не упоминает сообщения об ошибках.
Есть ли какой-нибудь способ отобразить WL.Сообщения об ошибках регистратора в Visual Studio 2012?
Ответ №1:
Я никогда не использовал Visual Studio, поэтому отнеситесь к этому с недоверием. Возможно, вы можете переопределить вызов в средах Windows, чтобы использовать любой регистратор, который вы хотите. Например, давайте использовать console.log
:
if (running on windows env) {
WL.Logger.error = function () {
console.log.apply(console, arguments); //or alert(...)
}
}
Вы можете получить текущую среду с помощью WL.Client.getEnvironment()
API.
Если бы мне пришлось догадываться, console.error
что именно WL.Logger.error
используется для сообщений об ошибках (при условии, что оно определено), по какой-то причине не выводится на консоль.
Комментарии:
1. Основываясь на вашем предложении, я провел некоторое исследование и обнаружил, что при инициализации регистратора вы можете добавить обратный вызов, который будет выполняться при каждом вызове сообщения. Мое решение — определить обратный вызов, который, когда среда — Windows Phone 8, а приоритет журнала — ошибка, распечатает сообщение с помощью console.log() . Мой обратный вызов:
function(message, priority, pkg) { if (WL.Client.getEnvironment() === WL.Environment.WINDOWS_PHONE_8 amp;amp; priority === 'error') { console.log(message); } }
(Извинения. Я не знаю, как форматировать комментарии.)