2015-06-30 4 views
0

Глядя на некоторых из примера кода для гибридных мобильных приложений, которые говорят с Node.js на ОМ (http://mbaas-gettingstarted.ng.bluemix.net/hybrid), вы увидите различные примеры, которые демонстрируют, как использовать регистратор на клиента стороны:Какова цель API IBMBluemix.getLogger()?

var config = { 
    applicationId:'<applicationId>', 
    applicationRoute:'<applicationRoute>', 
    applicationSecret:'<applicationSecret>' 
}; 

IBMBluemix.initialize(config).done(function(status){ 
    // Initialize the Services 
}).catch(function(err){ 
    IBMBluemix.getLogger().error("Error intializing SDK"); 
}); 

Я подтвердил, что это прекрасно работает в приложении Cordova. Мой вопрос: почему это существует? Насколько я вижу, он делает не что иное, как обертывание вызовов console.log. Насколько мне известно, он никогда не отправляет журналы на серверное приложение Bluemix.

Здесь есть документация, https://www.ng.bluemix.net/docs/starters/mobile/mobilecloud/nodejsmobile.html#log, в которой говорится об этой функции как на стороне сервера, так и на стороне клиента, но, если я не пропущу ее, на клиентской стороне нет настойчивости.

Если это так, то какова именно точка этой абстракции? Я должен представить, что он был построен по какой-то причине, но я этого не вижу.

ответ

1

Этот обертер используется для «обертывания» и создания «стандартного» журнала консоли api, особенно потому, что этот JavaScript-API недоступен для всех браузеров (особенно старых). Обертывая его, библиотека могла проверить браузер и его доступность, чтобы избежать ошибки выполнения.
Еще одна причина - обернуть некоторые утилиты конфигурации, например, предоставить различные библиотеки для использования (например, log4js) или другую конфигурацию и т. Д. И последнее, но не менее важное: возможно, он обеспечивает одноэлементный интерфейс для оптимизации производительности.

+0

Предоставить код, который задан –

+0

Хмм. Я полагаю, что это имеет смысл, но, честно говоря, количество браузеров без консоли минимально, и вы не должны использовать консоль за пределами разработки в любом случае. Документы должны быть более четкими в отношении того, что делает logger на стороне клиента, поскольку он стоит прямо сейчас, я бы не рекомендовал его использовать. –

+0

Ни jQuery не дает вам никаких подробностей о том, что делают его методы-оболочки, если вы не читаете его исходный код. Это оболочка, она дает некоторые утилиты для использования или нет, но каждый может использовать свои собственные утилиты –

Смежные вопросы